07/11/03 20:18:27
>>43
んーむ。 根拠は見つけられなかった。
正しくは
for (int i = CHAR_MIN; i <= CHAR_MAX; i++) {
cout << (isprint((unsigned char)i) ? (char)i : ' ');
}
と書くべきかもしれんね。
規格上は signed char の範囲外の値を signed char に変換したときの動作は実装依存らしいけど、実際にはそれが問題になったことはないな。
signed char と unsigned char は 1 対 1 で対応してるもんだと考えてる。
>>45
それはたぶんロケールのせい。
setlocale(LC_ALL, ""); を試してみそ。
ムダかもしれんが。