printf 函数格式控制
Printf()介绍
printf()是C语言标准库函数,用于将格式化后的字符串输出到标准输出。标准输出,即标准输出文件,对应终端的屏幕。printf()申明于头文件stdio.h。
函数原型:
int printf ( const char * format, ... );
返回值:
正确返回输出的字符总数,错误返回负值,与此同时,输入输出流错误标志将被置值,可由指示器ferror来检查输入输出流的错误标志。
调用格式:
printf()函数的调用格式为:printf("格式化字符串",输出表列)
。
格式化字符串包含三种对象,分别为:
(1)字符串常量;
(2)格式控制字符串;
(3)转义字符。
字符串常量原样输出,在显示中起提示作用。输出表列中给出了各个输出项,要求格式控制字符串和各输出项在数量和类型上应该一一对应。其中格式控制字符串是以%开头的字符串,在%后面跟有各种格式控制符,以说明输出数据的类型、宽度、精度等。
printf.C++ reference的表格。
注意:黄色背景行标识的类型长度说明符和相应的数据类型是C99引入的。
示例代码:
1 printf("%hhd\n",'A'); //输出有符号char 2 3 printf("%hhu\n",'A'+128); //输出无符号char 4 5 printf("%hd\n",32767); //输出有符号短整型short int 6 7 printf("%hu\n",65535); //输出无符号短整型unsigned short int 8 9 printf("%ld\n",0x7fffffffffffffff); //输出有符号长整型long int 10 11 printf("%lu\n",0xffffffffffffffff); //输出有符号长整型unsigned long int
输出结果:
注意:
long int到底是32bits还是64bits跟生成的程序是32bits还是64bits一一对应,如果使用g++编译程序的话,可通过-m32
或-m64
选项分别生成32bits和64bits的程序。因本人测试代码编译生成的是64bits的程序,所以long int也就是64btis。
【来源】