int があり、その int を含む char* を取得したいと考えています。私のコードは次のとおりです。
int getLength(int x) {
int l = 0;
while(x) {
l++;
x /= 10;
}
return l;
}
char* toString(int x) {
int l = getLength(x);
char *str = new char[l];
l--; // the digits will be placed on positions 0 to l-1
while(l >= 0) {
str[l] = x % 10 + '0';
x /= 10;
l--;
}
return str;
}
結果の一部:
toString(1009) = 1009Ä
toString(23) = 23L
なんで?l 文字だけにスペースを割り当てました。(l = int の長さ)