自是人生长恨水长东

C++ C# PERL ERLANG C MS LINUX

C++博客 首页 新随笔 联系 聚合 管理
  13 Posts :: 0 Stories :: 1 Comments :: 0 Trackbacks
开始以为是这样
HHHH\%DDDD
后来发现不对。
经过高人指点 是%%这样才能符合。
谨记。
http://kunwang2001.blog.hexun.com/26258008_d.html 一篇参考文档

c/c++的字符串格式化问题,常常会困扰人,只要做个集中整理,以便今后查看。

格式化值:
%% -返回百分号
%b –返回二进制数
%c –返回与ASCII值相对应的字符
%d –带有正负号的十进制数
%e –科学计数符号(如:1.2e+2
%u –不带正负号的十进制数.%ul 不带符号的长整型
%f – 浮点数据(本地设置)
%F –浮点数据(非本地设置)
%o –八进制数
%s –字符串
%x –十六进制数(小写字母) 例如:sprintf(s, "%#010x", 128); //产生"0x00000080"
%X –十六进制数(大写字母)

对于数字,还有涉及对齐及宽度的问题:

它是位于%和字母之间的(如:%.2f)表示小数点后2位 例如:printf("%.2f",3.145) 输出3.14

在数字前加上+-;默认情况下,只有负数是被标记出来的

 

左调整变量值m.n

浮点数:m表示小数点前的位数,n表示小数点后的位数,在m前可以添加不足位数的补位字符。

例如:pritnf("%2.3f",12.2);输出:12.30

例如:printf("%04d,1); 输出:0001

字符串:在"%m.ns"中,这可以类比打印浮点数的"%m.nf"m 表示占用宽度(字符串长度不足时补空格,超出了则按照实际宽度打印),n 才表示从相应的字符串中最多取用的字符数。通常在打印字符串时m 没什么大用,还是点号后面的n 用的多。自然,也可以前后都只取部分字符.

posted on 2010-10-20 17:22 傅红血 阅读(447) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理