小编典典

如何在C中将整数转换为字符串?

all

我试过这个例子:

/* itoa example */
#include <stdio.h>
#include <stdlib.h>

int main ()
{
    int i;
    char buffer [33];
    printf ("Enter a number: ");
    scanf ("%d",&i);
    itoa (i,buffer,10);
    printf ("decimal: %s\n",buffer);
    itoa (i,buffer,16);
    printf ("hexadecimal: %s\n",buffer);
    itoa (i,buffer,2);
    printf ("binary: %s\n",buffer);
    return 0;
}

但是那里的示例不起作用(它说该功能itoa不存在)。


阅读 69

收藏
2022-07-17

共1个答案

小编典典

使用sprintf()

int someInt = 368;
char str[12];
sprintf(str, "%d", someInt);

所有可以由 表示的数字都int将适合 12 字符数组而不会溢出,除非您的编译器以某种方式使用超过 32 位的int.
当使用具有更大位大小的数字时,例如long对于大多数 64 位编译器,您需要增加数组大小——对于 64 位类型,至少需要 21 个字符。

2022-07-17