>>401
while (fs >> strtoken)
    cout << strtoken << endl;

のように書くんだね。
何で>>401のコードでそうなるかというと、fs.eof()が偽でも
fs >> strtoken;は失敗する可能性があるのに、それをチェックせずに
strtokenを出力しているからだ。

CCCまで読んだあと、streamには最後の改行が残っている。ので、
fs.eof()は偽を返す。が、空白文字しか残っていないので、
fs >> strtokenは失敗するんだよ。