0

例如,4位数字,将0转换为“0000”;和 12 到“0012”。

c++中有什么好的方法吗?

抱歉没有说清楚,我的编译器不支持 snprintf,我想要一个类似的函数

std::string ToString(int value, int digitsCount);

4

2 回答 2

4
char buf[5];
snprintf(buf, sizeof(buf), "%04d", intVal);
于 2012-12-17T21:00:54.430 回答
3

也许是这样的

#include <iostream>
#include <iomanip>
#include <sstream>

using namespace std;

string ToString(int value,int digitsCount)
{
    ostringstream os;
    os<<setfill('0')<<setw(digitsCount)<<value;
    return os.str();
}

int main()
{
    cout<<ToString(0,4)<<endl;
    cout<<ToString(12,4)<<endl;
}
于 2012-12-17T21:14:19.783 回答