3

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

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

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

我正在使用 Ubuntu 11.10

4

1 回答 1

16

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

您可以简单地使用sprintf

sprintf(str, "%d", a)

在一个真实的应用程序中,您将希望使用snprintf它来消除缓冲区溢出的风险:

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

15 个字符足以存储一个整数。

于 2012-01-07T14:33:54.127 回答