簡體   English   中英

將int轉換為char C

[英]Turn int to char C

我試圖將int像72, 101, 108變成'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);

從什么時候開始,這些'72', '101', '108'變成了字符? 字符值存儲在1個字節中。

您可以使用sprintfsnprintf 將整數轉換為char數組。

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

要么

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM