Abr*_*ile 34 c c++ string printf
我有一个虚假的问题.我想将一个整数打印到带有0的缓冲区填充中,但我无法将其排序sprintf.我正在尝试以下方面
char buf[31];
int my_val = 324;
sprintf( buf, "%d030", my_val );
Run Code Online (Sandbox Code Playgroud)
希望有以下字符串
"000000000000000000000000000324"
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?它不代表填充0,最大宽度为30个字符?
小智 9
你的语法略有错误; 以下代码生成所需的输出:
char buf[31];
int my_val = 324;
sprintf( buf, "%030d", (int)my_val );
Run Code Online (Sandbox Code Playgroud)
[...] printf("%2d", 3) results in " 3", while printf("%02d", 3) results in "03".
Run Code Online (Sandbox Code Playgroud)
尝试:
sprintf( buf, "%030d", my_val );
Run Code Online (Sandbox Code Playgroud)