C++从文本文件,逐字逐句或char字符中读取单词

MSw*_*zey 4 c++ file-io textinput

我一直在谷歌上搜索并阅读我的书并尝试写出代码来阅读文本文件并逐个处理它,所以我可以按字母顺序排列它们并记住多少个单词使用的地方和使用了很多单词.我似乎无法使我的GetNextWord()函数正常工作,这让我发疯.

我需要逐个读取单词,如果是大写,则将每个字母转换为小写.我知道如何做到这一点,并成功地做到了这一点.它只是按字符逐字逐句地将它放入一个阻碍我的字符串中.

这是我最近的尝试:任何帮助都会令人惊讶,或者链接到关于如何逐字读取输入文件的教程.(Word是字母字符az和'(不)以空格,逗号,句号,;,:等结尾....

void GetNextWord()
{
    string word = "";
    char c;

    while(inFile.get(c))
    {
        while( c > 64 && c < 123 || c == 39)
        {
            if((isupper(c)))
            {
                c = (tolower(c));
            }
            word = word + c;
        }
        outFile << word;
    }
}
Run Code Online (Sandbox Code Playgroud)

Sco*_*ord 8

您可以使用>>运算符逐字读取文件.例如,请参阅此链接:http://www.daniweb.com/forums/thread30942.html.

我在这里摘录了他们的例子:

ifstream in ( "somefile" );
vector<string> words;
string word

if ( !in )
  return;

while ( in>> word )
  words.push_back ( word );
Run Code Online (Sandbox Code Playgroud)