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 に答える