int i ([0,255]) のリストがあり、これらの int を char に変換したいと考えています。
int i;
char c = (char)i;
c を印刷すると (i=0 の場合)、対応する ASCII シンボルが得られません。マッピングを正しく行うには?
ASCII0の記号はありません。32未満のASCII値はすべて制御文字です。
ASCII 値と int 値を混在させています... ASCII テーブルを見てください。「0」を出力するには、値 48 (10 進数) を出力する必要があります。0 から 9 までの値を出力するには、int 値に 48 を加算するだけで、正しい ASCII コードが得られます。1 桁よりも長い値を出力するには、1 つの int から複数の ASCII コードへの何らかの変換が必要です。グーグル検索はそのような機能を見つけるはずです。
値0に意味のあるASCII記号があるとは思いません。これはNULL文字であり、何も出力しないはずです。i = 97
たとえば、('a')のときに値を出力してみませんか?
ASCIIテーブルを調べると、すべてのASCII文字に意味のある出力値があるわけではないことがわかります。