sprintf的问题...

tx183584 2011-08-28 09:28:21

char buff[3];
sprintf(buff, "%1.2x", offset);

1.2是什么意思?为什么打印的是16进制数,却能存放在char数组中?
...全文
167 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
ljhhh0123 2011-08-29
  • 打赏
  • 举报
回复
打印宽度为1,最小取2位,所以1没啥用。
赵4老师 2011-08-29
  • 打赏
  • 举报
回复
"%.2x"足矣
jamesjiangqian 2011-08-29
  • 打赏
  • 举报
回复
sprintf(buff, "%1.2x", offset);的3个参数:
1、buff:存放输出内容;
2、"%1.2x":格式控制符;
3、offset:输出变量

对比printf("%1.2x", offset);分析:
printf()是把输出结果显示在屏幕上;
sprintf()是把输出内容存放在buff字符串中,而不在屏幕上输出。


[Quote=引用 1 楼 matrixcl 的回复:]
因为打印结果是字符串
[/Quote]
CJacky++ 2011-08-29
  • 打赏
  • 举报
回复
看错了题目!!!!
CJacky++ 2011-08-29
  • 打赏
  • 举报
回复
如果是%1.2s.表示最小长度为1,最大长度为2,右对齐。

printf("S%1.2sE", ""); // S E,最短为1,空字符串补一个空格
printf("S%1.2sE", "1"); // S1E
printf("S%1.2sE", "12"); // S12E
printf("S%1.2sE", "123"); // S12E 最长为2,只输出前2个字符

向立天 2011-08-29
  • 打赏
  • 举报
回复
CJacky++ 2011-08-29
  • 打赏
  • 举报
回复
%x可以这么用吗?
独自听枫 2011-08-29
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 anyidan 的回复:]

引用 7 楼 ljljlj 的回复:
打印宽度为1,最小取2位,所以1没啥用。


++
[/Quote]
++
AnYidan 2011-08-29
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ljljlj 的回复:]
打印宽度为1,最小取2位,所以1没啥用。
[/Quote]

++
app_3 2011-08-29
  • 打赏
  • 举报
回复
%m.ns :m 表示占用宽度(字符串长度不足时补空格,超出了则按照实际宽度打印),n 表示从相应的字符串中最多取用的字符数。
你也可以根据字符串的字符个数来打印. sprintf(s,"%.*s",sizeof(a),a);
yuqangy 2011-08-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 udbwcso 的回复:]

printf 和sprintf 都使用格式化字符串来指定串的格式
%m.nf格式,其中m 表示打印的宽度,n 表示小数点后的位数。比如:
sprintf(s, "%10.3f", 3.1415626); //产生:"3.142"

%x 整数转成小写十六进位。   %X 整数转成大写十六进位。
[/Quote]
正解
tx183584 2011-08-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 udbwcso 的回复:]

printf 和sprintf 都使用格式化字符串来指定串的格式
%m.nf格式,其中m 表示打印的宽度,n 表示小数点后的位数。比如:
sprintf(s, "%10.3f", 3.1415626); //产生:"3.142"

%x 整数转成小写十六进位。   %X 整数转成大写十六进位。
[/Quote]
1.2打印宽度为1?
尘缘udbwcso 2011-08-28
  • 打赏
  • 举报
回复
printf 和sprintf 都使用格式化字符串来指定串的格式
%m.nf格式,其中m 表示打印的宽度,n 表示小数点后的位数。比如:   
sprintf(s, "%10.3f", 3.1415626); //产生:"3.142"

%x 整数转成小写十六进位。   %X 整数转成大写十六进位。
W170532934 2011-08-28
  • 打赏
  • 举报
回复
sprintf就是用来实现类似控制台程序那种printf的函数功能。不过这个是把结果输出到一个char数组中
matrixcl 2011-08-28
  • 打赏
  • 举报
回复
因为打印结果是字符串

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧