Alexandru N. Onea
Alexandru N. Onea

Reputation: 423

convert int to char* in standard C (without itoa)

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

Upvotes: 3

Views: 22786

Answers (1)

ThiefMaster
ThiefMaster

Reputation: 318588

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.

Upvotes: 16

Related Questions