在C中将整数值转换为char?

ero*_*gol 1 c integer casting char

我需要在C中将整数值转换为char值.这样做的正确方法是什么?

问候...

Ton*_*roy 6

他们可以隐含地兑换......

int x = 65;
char c = x; // 'A'
putchar(x);
printf("%c", x);
char asciiz[] = { 65, 32, 66, 32, 67, 0 };
Run Code Online (Sandbox Code Playgroud)

您可以明确地使用例如(char)65,在C++中特别有用,其中重载和模板使编写的代码根据常见类型而有所不同.

如果你真的想要得到一个数字的(可能是多个)字符表示,那么你可以使用printf("%d",x)将它打印到标准输出,或者:

char buffer[16]; // biggest int is 4 billion so ~10 chars, round up for safety
sprintf(buffer, "%d", x);
// say x was 128, buffer now contains [0] = '1', [1] = '2', [2] = '8', [3] = NUL.
Run Code Online (Sandbox Code Playgroud)