конвертировать int в char * в стандартном C (без itoa) - PullRequest
3 голосов
/ 07 января 2012

Я объявил и инициализировал две переменные, как показано ниже:

int a=5;
char* str;
str = (char*)calloc(255, sizeof(char));

Я хочу преобразовать int в char * в стандартном C. Я не могу использовать любую функцию преобразования из C ++, такую ​​как itoa.

Я использую Ubuntu 11.10

1 Ответ

15 голосов
/ 07 января 2012

Прежде всего, itoa - не C ++.

Вы можете просто использовать sprintf:

sprintf(str, "%d", a)

В реальном приложении, которое вы захотите использовать snprintf хотя для устранения риска переполнения буфера:

str = malloc(16);
snprintf(str, 16, "%d", a);

И 15 символов достаточно для хранения целого числа.

...