문제

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

도움이 되었습니까?

해결책

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.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top