【发布时间】:2022-01-21 08:18:23
【问题描述】:
我正在开发一个程序,我需要为 3 个数字添加前导零
所以代码看起来像这样
#include <iostream>
using namespace std;
// Check Examples
//Compiler version g++ 6.3.0
int main()
{
long int num =5;
char CNum[10];
sprintf(CNum,"%03ld",num) ;
std::cout << CNum;
return 0;
}
// Outputs 005
现在让我们在一个名为的整数变量中定义前导零的个数
int blank = 3
之后的代码应该是这样的
#include <iostream>
using namespace std;
// Check Examples
//Compiler version g++ 6.3.0
int main()
{
int blank = 3;
long int num =5;
char CNum[10];
sprintf(CNum,"%03ld",num) ;
std::cout << CNum;
return 0;
}
然后我像这样编辑了 sprintf 参数
sprintf(CNum,"%0%dld",blank,num);
这个输出
%dld
而不是
005
现在,我的主要问题是,
-
我可以像这样在 sprintf 中添加用户变量定义的前导零吗?
-
如果是,我怎样才能让我的代码做到这一点?
-
如果否,是否有任何其他方法可以执行相同的操作以获得所需的输出?
-
谢谢您,期待您的热情回复...
【问题讨论】:
-
@S.M.这段代码似乎比下面 Paul 编写的代码更容易,但是,我不能在这里勾选你的答案 :)
-
如果
num = -5,预期的输出是什么?"-005"、"-05"还是什么?