【发布时间】:2015-08-17 04:41:10
【问题描述】:
我正在尝试将 72, 101, 108 之类的 int 转换为 '72', '101', '108'。
原来的程序是我以"Hello\n"为例,读取字符串,然后获取每个字符的ASCII值,然后将这些int放入一个char数组中。
我试过了:
int a = 72;
char b = (char)a;
但这会将 int 从 ASCII 转换回字符。
我也试过了:
int a = 72;
char b = a + '0';
但这根本行不通。
这就是我所拥有的:
char buff[128];
strcpy(buff, "Hello\n");
char tmp[128];
bzero(tmp, 128); // initialize array
int n = 0;
while(buff[n] != '\n') {
int ascii = (int)buff[n];
en[n] = (char)ascii; // RIGHT HERE
n++;
}
strcat(tmp, "\n");
fprintf(stdout,"%s", tmp);
【问题讨论】: