while (cin.get(Ch))
看不到EOF
。我从一个有3个单词的文本文件中读取,当我调试我的WordCount时是3(正是我希望的)。然后它回到了while循环并卡住了。此时Ch
没有值。我认为在换行符后它会读取EOF
并跳出循环。我不能使用< fstream>
,必须在DOS中使用重定向。非常感谢。#include <iostream>
using namespace std;
int main()
{
char Ch = ' ';
int WordCount = 0;
int LetterCount = 0;
cout << "(Reading file...)" << endl;
while (cin.get(Ch))
{
if ((Ch == '\n') || (Ch == ' '))
{
++WordCount;
LetterCount = 0;
}
else
++LetterCount;
}
cout << "Number of words => " << WordCount << endl;
return 0;
}
a.b..c...d
(其中.
代表一个空格)?它有四个单词,但是六个空格? - Aaron McDaid