Cでは、intとして入力されたASCII値を対応するASCII文字としての文字に変換する方法はありますか?
int
をchar
に直接割り当てることができます。
int a = 65;
char c = a;
printf("%c", c);
実際、これも機能します。
printf("%c", a); // assuming a is in valid range
i
がint
の場合、
char c = i;
char
にします。信頼できないソースからのものである場合、値が<128
であるかどうかのチェックを追加することができます。これは、システムで使用可能な場合、<ctype.h>
のisascii
を使用して行うのが最適です(この答えに対する@Steve Jessopのコメントを参照)。
数値が文字列に格納されている場合(ユーザーが入力した場合)、atoi()
を使用して整数に変換できます。
整数を文字に直接割り当てることができます。キャラクターは、それがどのように解釈され使用されるかという理由だけでほとんど異なります。
char c = atoi("61");