zoukankan      html  css  js  c++  java
  • c++ 格式字符串说明

    C++的格式化字符串经常用作格式化数字的输出、字符串合并和转换等等很多场合。

      

    1. 格式化规定符

    ━━━━━━━━━━━━━━━━━━━━━━━━━━

       符号                  作用

    ──────────────────────────

        %d              十进制有符号整数

        %u              十进制无符号整数

        %f               浮点数

        %s              字符串

        %c              单个字符

        %p              指针的值

        %e              指数形式的浮点数

        %x, %X      无符号以十六进制表示的整数

        %0              无符号以八进制表示的整数

        %g              自动选择合适的表示法

    ━━━━━━━━━━━━━━━━━━━━━━━━━━

        说明:

        (1). 可以在"%"和字母之间插进数字表示最大场宽。

         例如:  %3d   表示输出3位整型数, 不够3位右对齐。

                %9.2f表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6,

                      小数点占一位, 不够9位右对齐。

                %8s   表示输出8个字符的字符串, 不够8个字符右对齐。

        如果字符串的长度、或整型数位数超过说明的场宽, 将按其实际长度输出。但对浮点数, 若整数部分位数超过了说明的整数位宽度, 将按实际整数位输出; 若小数部分位数超过了说明的小数位宽度, 则按说明的宽度以四舍五入输出。

        另外, 若想在输出值前加一些0, 就应在场宽项前加个0

        例如:   %04d  表示在输出一个小于4位的数值时, 将在前面补0使其总宽度为4位。

        如果用浮点数表示字符或整型量的输出格式, 小数点后的数字代表最大宽度, 小数点前的数字代表最小宽度。

        例如: %6.9s 表示显示一个长度不小于6且不大于9的字符串。若大于9,  则第9个字符以后的内容将被删除。

        (2). 可以在"%"和字母之间加小写字母l, 表示输出的是长型数。

        例如:   %ld   表示输出long整数

                %lf   表示输出double浮点数

        (3). 可以控制输出左对齐或右对齐, 即在"%"和字母之间加入一个"-" 号可说明输出为左对齐, 否则为右对齐。

        例如:   %-7d  表示输出7位整数左对齐

                %-10s 表示输出10个字符左对齐

     

    2. 一些特殊规定字符

    ━━━━━━━━━━━━━━━━━━━━━━━━━━

        字符                           作用

    ──────────────────────────

                            换行

         f                   清屏并换页

                            回车

                            Tab

         xhh                 表示一个ASCII码用16进表示, 其中hh是1到2个16进制数

    ━━━━━━━━━━━━━━━━━━━━━━━━━━

             char c, s[20], *p;

              int a=1234, *i;

              float f=3.141592653589;

              double x=0.12345678987654321;

              p="How do you do";

              strcpy(s, "Hello, Comrade");

              *i=12;

              c='x41';

              printf("a=%d ", a);     /*结果输出十进制整数a=1234*/

              printf("a=%6d ", a);    /*结果输出6位十进制数a=  1234*/

              printf("a=%06d ", a);   /*结果输出6位十进制数a=001234*/

              printf("a=%2d ", a);    /*a超过2位, 按实际值输出a=1234*/

              printf("*i=%4d ", *i);  /*输出4位十进制整数*i=  12*/

              printf("*i=%-4d ", *i); /*输出左对齐4位十进制整数*i=12*/

              printf("i=%p ", i);     /*输出地址i=06E4*/

              printf("f=%f ", f);     /*输出浮点数f=3.141593*/

              printf("f=6.4f ", f);   /*输出6位其中小数点后4位的浮点数f=3.1416*/

              printf("x=%lf ", x);    /*输出长浮点数x=0.123457*/

              printf("x=%18.16lf ", x);/*输出18位其中小数点后16位的长浮点数x=0.1234567898765432*/

              printf("c=%c ", c);     /*输出字符c=A*/

              printf("c=%x ", c);     /*输出字符的ASCII码值c=41*/

              printf("s[]=%s ", s);   /*输出数组字符串s[]=Hello, Comrade*/

              printf("s[]=%6.9s ", s);/*输出最多9个字符的字符串s[]=Hello,Co*/

              printf("s=%p ", s);     /*输出数组字符串首字符地址s=FFBE*/

              printf("*p=%s ", p);    /* 输出指针字符串p=How do you do*/

              printf("p=%p ", p);     /*输出指针的值p=0194*/

        上面结果中的地址值在不同计算机上可能不同。

    转自:http://www.henryxu.com/post/1.html

  • 相关阅读:
    Scrapy 概览笔记
    Python 依赖版本控制 (requirements.txt 文件生成和使用)
    Python 虚拟空间的使用
    macOS 所有版本 JDK 安装指南 (with Homebrew)
    鉴权那些事
    Java 位运算符和 int 类型的实现
    ASP.NET Core 入门教程 5、ASP.NET Core MVC 视图传值入门
    如何做好一次知识或技术分享
    ASP.NET Core 入门教程 4、ASP.NET Core MVC控制器入门
    ASP.NET Core 入门教程 3、ASP.NET Core MVC路由入门
  • 原文地址:https://www.cnblogs.com/dragon2012/p/8960772.html
Copyright © 2011-2022 走看看