たとえば、4 桁の場合、0 を「0000」に変換します。12~「0012」。
C ++で何か良い方法はありますか?
私のコンパイラはsnprintfをサポートしていないので、次のような関数が必要です
std::string ToString(int value, int digitsCount);
char buf[5];
snprintf(buf, sizeof(buf), "%04d", intVal);
たぶん、このようなもの
#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;
}