[2422] Re:第5章ポインタの真の使い方 単語の使用頻度を数える
    
    投稿者:(ぱ)こと管理人
    2025/05/19 00:46:42
    
    
    はじめまして。ご質問ありがとうございます。
><読み込ませたtxtファイルの中身>
>ABCDE
>
><出力結果>
>A    1
>C    1
>E    1
>
>※なぜか1個飛ばしで結果が表示される。
このプログラムは「単語の」出現頻度を数えるプログラムであって、文字の出現頻度を
数えるものではないので、これは「1個飛ばし」ではありません。読み込ませたtxtファイルの
中身がABCDEなら、
ABCDE    1
が正しい出力結果です。
入力ファイルのエンコーディングがUTF16である可能性も考えましたが、その場合でも
A    1
B    1
C    1
D    1
E    1
となりそうなものです(当方で試したらそうなりました)。
get_word.cがそちらで打ち込まれたものなら、それをそのままここに貼っていただけないでしょうか?
 27:     } while ((ch = getc(fp)) != EOF && isalnum(ch));
このあたりが怪しい気がします。isalnumの前に!がついているとか。