问题
I have declared and initialized two variables as shown below:
int a=5;
char* str;
str = (char*)calloc(255, sizeof(char));
I want to convert the int to char* in standard C. I cannot use any conversion function from C++ such itoa.
I am using Ubuntu 11.10
回答1:
First of all, itoa
is not a C++ thing.
You can simply use sprintf
:
sprintf(str, "%d", a)
In a real application you'll want to use snprintf
though to remove the risk of a buffer overflow:
str = malloc(16);
snprintf(str, 16, "%d", a);
And 15 characters are way enough to store an integer.
来源:https://stackoverflow.com/questions/8770408/convert-int-to-char-in-standard-c-without-itoa