【问题标题】:Turn int to char C将 int 转换为 char C
【发布时间】: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);

【问题讨论】:

    标签: c char int


    【解决方案1】:

    这些'72', '101', '108'什么时候变成字符了? Char 值存储在 1 个字节中。

    您可以使用sprintfsnprintf。将整数转换为 char 数组。

    int c = 4;
    char tin [Some_Length];
    sprintf(tin , "%d", c);
    

    或者

    snprintf(tin , Some_Length, "%d", c);
    

    【讨论】:

      猜你喜欢
      • 2015-12-18
      • 2015-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-07
      相关资源
      最近更新 更多