-5

可能重复:
如何在 C 中将整数转换为字符串?

我在 C 中有一个函数,它采用 int 值 i。我需要将此 i 值转换为字符串 (char *)。

这是我到目前为止所拥有的:

char *str = (char *)i;
myfunction(str);

我得到错误:从不同大小的整数转换为指针。

谢谢!

4

1 回答 1

0

这只是无效的代码。即使您解决了编译时错误,结果也可能是运行时出现某种内存访问错误。结果将是一个指向您不知道它实际指向的字符串的指针。因此,当您的程序访问该内存时,您将遇到错误。

我将推测您真正要寻找的是像itoa(). 这是唯一有意义的方法。

编辑

根据新评论,我看到您实际上确实想要一个类似itoa(). 简单地尝试将整数转换为字符串指针不会做你想要的。

char buff[80];

itoa(i, buff, 10);
myfunction(buff);
于 2013-01-27T02:30:55.973 回答