在标准C中将int转换为char *(不使用itoa)

时间:2012-01-07 14:31:49

标签: c char int itoa

我声明并初始化了两个变量,如下所示:

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

我想在标准C中将int转换为char *。我不能使用C ++中的任何转换函数,例如itoa。

我正在使用Ubuntu 11.10

1 个答案:

答案 0 :(得分:15)

首先,itoa不是C ++的东西。

您只需使用sprintf

即可
sprintf(str, "%d", a)

在实际应用程序中,您可能希望使用snprintf来消除缓冲区溢出的风险:

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

15个字符足以存储整数。

相关问题