fprintf在输出字符串时如何实现左补零
有如下程序:#include <stdio>
main(){
printf("string=[%06s]\n","22");
}
在HP-UX上用cc编译器的话输出结果如下
string=
可是在Linux上是
string=[ 22]
难解的问题是:
在Linux上fprintf在输出字符串时如何实现左补零?
OS是RHEL5.2 for X86_64
编译器是gcc 4.1.1
glibc是2.5-24
觉得printf.h中的printf_info.pad是不是有个接口能修改啊??
但是接口是什么?
真是郁闷,困惑了两天了. 引号去了,换%d试试 本帖最后由 lsxly 于 2010-04-19 12:52 编辑
回复 2# nelab
加引号只是个例子,实际上那是个字符串变量。因为有很多程序要修改,感觉不保险,所以想问问是否有更加便捷的方法可以实现,比如GLIBC有没有接口能修改pad变量什么的?总觉得有,但是看了vfprintf的源码,有的晕,不知道是否真的有。
页:
[1]