注册 登录
编程论坛 新人交流区

sprintf()的问题

shvmily 发布于 2007-11-21 18:57, 1011 次点击
1.把整数123 打印成一个字符串保存在s 中。
sprintf(s, "%d", 123); //产生"123"
s应该是个数组吧,它占几个字节,最后有想把一个字符串放到数组中在后面加结束标志吗?

可以指定宽度,不足的左边补空格:
2.sprintf(s, "%8d%8d", 123, 4567); //产生:" 123 4567"
8是8个字节吗?  哪123和456中间空了一个那是什么?如果要放的比指定大,如%8d,后面是12345会出现怎样的错误?

3.当然也可以左对齐:
sprintf(s, "%-8d%8d", 123, 4567); //产生:"123 4567"
这里123和4567之间也是一个空格,左对齐的话本身就空了一个,上面(2)中本身空的在左边,123和4567之间还空了一个,那么(3)这里123和4567问什么不空两格?

小弟脑子不好使, 各位强人能不能解释一下





1 回复
#2
taiwai1232007-11-21 19:36
1