07/11/03 21:49:17
>>38、39 さん (再)
どうやら、うまく行っていなかったのも
isprintのせいのようです。
isprintに128以上の数値を渡すと、
0が返ってきます(私の実験です)。
---実験コード---
for (int i = 0; i <= UCHAR_MAX; i++) {
cout << setw(3) << char(i) << ' ' ;
cout << setw(3) << (isprint(i) ? char(i) : '-') << ' ' ;
cout << setw(3) << isprint(i) << ' ' ; // <--- この部分128以上では0
cout << setw(3) << dec << i << endl;
}
----------------
そのため、カタカナがでるような数値になると
私の前のコードではスペースに置き換えられて
いたために出力されていないように見えて
いたのだしょう。
つづく