|
主要是我们对字符串的格式不了解,如:
%s 这个应该用来输出一个字符串
%08x 这个表示8位的16进制数
%08d 这个表示8位的10进制数
%016d 这个表示16位的10进制数,注意前面的0,表示位数不足时补0
因为比较数值需要长度相同,所有才用%08x的格式,表示8位的16进制数
---------------------------------
格式符:
1、d格式符:按十进制格式输出。
%d 输出数字长度为变量数值的实际长度
%md m指定输出数据的宽度。当数据本身的实际宽度小于m时,则数据左端补空格;若大于m,则按数据的实际位数输出。
%ld,%mld l(小写字母L)表示输出“长整型”数据
%0md,%0mld 0(数字0)表示位数不足m时补0
2、x格式符:按十六进制格式输出整数。(不会出现负数格式)
3、o(字母)格式符:按八进制格式输出整数。(不会出现负数格式)
4、u格式符:以十进制数形式输出unsigned的整数。
5、c格式符:用来输出一个字符
6、s格式符:用来输出一个字符串。
%s 用来输出一个字符串,不含双引号. 例:printf("%s","CHINA");
%ms m指定宽度(字符串长度小于m时左补空格,大于时按实际宽度输出)
%-ms 左对齐,不足m时右补空格
%m.ns 输出占m列,只取字符串中左端n个字符.这n各字符输出在m列的右侧,左补空格.
%-m.ns 同上,右补空格
7、f格式符:按实数格式输出。
%f 整数部分全部显示出来,小数部分显示6位.但并不是显示的所有数字都是有效数字
%m.nf 指定数据的宽度共为m列,其中有n位小数.如果数值长度小于m,则左侧补空格。
%-m.nf 与%m.f类似,只是应在右侧补空格
8、e格式符:以指数形式输出实数。
%e 按规范化指数形式输出实数,系统自动给出6位小数,指数部分占5位
%m.ne 与前面的叙述相同
%-m.ne 与前面的叙述相同
9、g格式符:它将根据数值的大小,自动选用f格式或e格式输出数据,并且它不输出无意义的0.
@ZXW:
fat在目标上只支持8.3格式。
[ 本帖最后由 zhaohj 于 2011-12-13 12:11 编辑 ] |
|