- 46 名前:デフォルトの名無しさん mailto:sage [2007/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, ""); を試してみそ。 ムダかもしれんが。
|

|