printf格式化输出符号详细说明[转]
2017-08-11 00:18
337 查看
原文:printf 格式化输出符号详细说明
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
说明:
格式字符
格式字符用以指定输出项的数据类型和输出格式。
可变宽度参数
对于
前边的
*
%a:浮点数、十六进制数字和p-记数法(C99)
*
%A:浮点数、十六进制数字和p-记法(C99)
*
%c:一个字符
char
*
%C:一个ISO宽字符
*
%d:有符号十进制整数
int
*
%ld,%Ld:长整型数据
long
*
%hd:短整型数据
*
%e:浮点数、e-记数法
*
%E:浮点数、E-记数法
*
%f:单精度浮点数(默认
float),十进制记数法
*
%.nf:这里
n表示精确到小数位后
n位,十进制记数法
*
%g:根据数值不同自动选择
%f或
%e
*
%G:根据数值不同自动选择
%f或
%e
*
%i:有符号十进制数(与
%d相同)
*
%o:无符号八进制整数
*
%p:指针
*
%s:对应字符串
char*(
%s == %hs == %hS输出窄字符串)
*
%S:对应宽字符串
WCAHR*(
%ws == %S输出宽字符串)
*
%u:无符号十进制整数
unsigned int
*
%x:无符号十六进制整数(形式为
2f)
*
%#x:无符号十六进制整数(形式为
0x2f)
*
%X:无符号十六进制整数(形式为
2F)
*
%#X:无符号十六进制整数(形式为
0x2F)
*
%%:打印一个百分号
*
%lld:用于
INT64或者
long long
*
%llu:用于
UINT64或者
unsigned long long
*
%llx:用于64位16进制数据
说明:
%:表示格式说明的起始符号,不可缺少
-:有
-表示左对齐输出,如省略表示右对齐输出
0:有
0表示指定空位填
0,如省略表示指定空位不填
m.n:
m指域宽,即对应的输出项在输出设备上所占的字符数;
n指精度,用于说明输出的实型数的小数位数,未指定
n时,隐含的精度为
n=6位
l,h:
l对整型指
long型,对实型指
double型;
h用于将整型的格式字符修正为
short型
格式字符
格式字符用以指定输出项的数据类型和输出格式。
d格式:用来输出十进制整数。有以下几种用法:
%d:按整型数据的实际长度输出。
%md:
m为指定的输出字段的宽度。如果数据的位数小于
m,则左端补以空格,若大于
m,则按实际位数输出。
o格式:以无符号八进制形式输出整数。对长整型可以用
%lo格式输出。同样也可以指定字段宽度用
%mo格式输出。
x格式:以无符号十六进制形式输出整数。对长整型可以用
%lx格式输出。同样也可以指定字段宽度用
%mx格式输出。
u格式:以无符号十进制形式输出整数。对长整型可以用
%lu格式输出。同样也可以指定字段宽度用
%mu格式输出。
c格式:输出一个字符。
s格式:用来输出一个串。有以下几种用法:
%s:例如:
printf("%s", "CHINA")输出字符串
CHINA
%ms:输出的字符串占
m列,如果字符串本身长度大于
m,则突破获
m的限制,将字符串全部输出。若串长小于
m,则左补空格。
%-ms:如果串长小于
m,则在
m列范围内,字符串向左靠,右补空格。
%m.ns:输出占
m列,但只取字符串中左端
n个字符。这
n个字符输出在
m列的右侧,左补空格。
%-m.ns:其中
m,n含义同上,
n个字符输出在
m列范围的左侧,右补空格。如果
n>m,则自动取
n值,即保证
n个字符正常输出。
f格式:用来输出实数(包括单、双精度),以小数形式输出。有以下几种用法:
%f:不指定宽度,整数部分全部输出并输出6位小数。
%m.nf:输出共占
m列,其中有
n位小数,若数值宽度小于
m左端补空格。
%-m.nf:输出共占
m列,其中有
n位小数,若数值宽度小于
m右端补空格。
e格式:以指数形式输出实数。可用以下形式:
%e:数字部分(又称尾数)输出6位小数,指数部分占5位或4位。
%m.ne,%-m.ne:
m,n和
-字符含义与前相同。此处
n指数据的数字部分的小数位数,
m表示整个输出数据所占的宽度。
g格式:自动选
f格式或
e格式中较短的一种输出,且不输出无意义的零。
可变宽度参数
对于
m.n的格式还可以用如下方法表示:
char ch[20]; printf("%*.*s\n",m,n,ch);
前边的
*定义的是总的宽度,后边的定义的是输出的个数。分别对应外面的参数
m,n。这种方法的好处是可以在语句之外对参数
m,n赋值,从而控制输出格式。
相关文章推荐
- printf 格式化输出符号详细说明
- printf 格式化输出符号详细说明
- printf 格式化输出符号详细说明
- STM32-重定向C库printf 格式化输出符号详细说明
- printf 格式化输出符号详细说明
- printf 格式化输出符号详细说明
- printf 格式化输出符号详细说明
- printf 格式化输出符号详细说明
- printf 格式化输出符号详细说明
- printf 格式化输出符号详细说明
- printf 格式化输出符号详细说明
- printf 格式化输出符号详细说明
- printf 格式化输出符号详细说明
- printf/scanf---格式化输出符号详细说明
- printf 格式化输出符号详细说明
- 【转载】printf 格式化输出符号详细说明
- printf格式化输出说明
- printf函数常用的输出方式及格式化输出说明
- 格式化输出函数printf( )的格式控制说明
- 关于格式化输出各类型的说明(format、printf)