fprintf在输出字符串时如何实现左补零
有如下程序:
#include <stdio>
main(){
printf("string=[%06s]n","22");
}
在HP-UX上用cc编译器的话输出结果如下
string=[000022]
可是在Linux上是
string=[ 22]
难解的问题是:
在Linux上fprintf在输出字符串时如何实现左补零?
OS是RHEL5.2 for X86_64
编译器是gcc 4.1.1
glibc是2.5-24
觉得printf.h中的printf_info.pad是不是有个接口能修改啊??
但是接口是什么?
真是郁闷,困惑了两天了.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
本帖最后由 lsxly 于 2010-04-19 12:52 编辑
回复 2# nelab
加引号只是个例子,实际上那是个字符串变量。因为有很多程序要修改,感觉不保险,所以想问问是否有更加便捷的方法可以实现,比如GLIBC有没有接口能修改pad变量什么的?总觉得有,但是看了vfprintf的源码,有的晕,不知道是否真的有。
引号去了,换%d试试