web-dev-qa-db-ja.com

変換ASCII number to ASCII Cの文字

Cでは、intとして入力されたASCII値を対応するASCII文字としての文字に変換する方法はありますか?

16
Anonymous

intcharに直接割り当てることができます。

int a = 65;
char c = a;
printf("%c", c);

実際、これも機能します。

printf("%c", a);  // assuming a is in valid range
21
taskinoor

iintの場合、

char c = i;

charにします。信頼できないソースからのものである場合、値が<128であるかどうかのチェックを追加することができます。これは、システムで使用可能な場合、<ctype.h>isasciiを使用して行うのが最適です(この答えに対する@Steve Jessopのコメントを参照)。

16
Fred Foo

数値が文字列に格納されている場合(ユーザーが入力した場合)、atoi()を使用して整数に変換できます。

整数を文字に直接割り当てることができます。キャラクターは、それがどのように解釈され使用されるかという理由だけでほとんど異なります。

char c = atoi("61");
2
Jonathan Wood