【初心者歓迎】C/C++室 Ver.32【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0772デフォルトの名無しさん
2006/11/19(日) 13:45:30マンドクセーからちゃんと読んでないが、isspace()のようなctype.hの
マクロ使う時は、何も考えずにsigned charを渡しちゃだめ。
引数が-1(EOF)〜255の範囲にあることが前提になってて、通常は
引数をそのまま配列indexとして使って表参照で判定してるから。
非ASCII文字だと、signed char→intに符号拡張した時に
負値になるような値が入ってるんで、
↑の範囲に収まらずに動作が不定になる。
isspace()に渡す前に、unsigned charにキャストしる。
■ このスレッドは過去ログ倉庫に格納されています