我想在字符串的开头添加零。我正在使用格式说明符。 我的输入字符串是“你好” 我想输出为“000hello”。C格式化的字符串 - 如何使用sprintf将前导零添加到字符串值?
我知道如何做到这一点整数。
int main()
{
int i=232;
char str[21];
sprintf(str,"%08d",i);
printf("%s",str);
return 0;
}
输出将是 - 00000232
如果我字符串做同样的。
int main()
{
char i[]="hello";
char str[21];
sprintf(str,"%08s",i);
printf("%s",str);
return 0;
}
输出将是 - 个招呼(3前导空格)
为什么它是整数的情况下给予的字符串和零的情况下,空间?
的printf( “000000%S”,helloStr) – schil227
我会做的是有一个数组,并且所有的元素设置为 '0' ,除了空终止符的最后一个。然后在适当的地方复制你的字符串(提示:使用'strlen')并打印出来。或者,有一个循环打印出正确数量的'0',然后打印字符串。 – AntonH
*我正在使用格式说明符。我的输入字符串是“你好”*。请发布显示问题的[Minimal,Complete和Verifiable示例](http://stackoverflow.com/help/mcve)。在问题**中显示输入,预期输出和实际输出**。 –