ifstream - 转到下一个单词

时间:2015-09-15 22:54:03

标签: c++ string ifstream word

我对ifstream如何运作有点不清楚。我已经搜索过,但无法找到这个问题的具体答案。

我要做的是停在一个单词上,然后在那之后用这个词做点什么。

具体来说,我的程序会查看包含单词的文件。每次看到字符串" NEWWORD"它需要用" NEWWORD"

之后的单词做一些事情
string str;
ifstream file;
file.open("wordFile.txt");
while(file >> str){
   //Look through the file
   if(str == "NEWWORD"){
        //Do something with the word following NEWWORD
   }

}     
file.close;

如何告诉ifstream转到下一个单词?

P.S:如果我在指导方针和规则方面做错了,我很抱歉。这是我第一次发帖。

2 个答案:

答案 0 :(得分:1)

每次使用>>从流中提取时,它会自动前进到下一个项目(这就是while循环在文件中前进的方式,直到找到" NEWWORD"你可以在看到" NEWWORD":

时提取下一个项目
string str;
ifstream file;
file.open("wordFile.txt");
while(file >> str){
   //Look through the file
   if(str == "NEWWORD"){
        //Do something with the word following NEWWORD
        if (file >> str) {
             // the word following NEWWORD is now in str
        }
   }

}     
file.close;

答案 1 :(得分:0)

为了澄清matt的答案,在istream上使用>>会找到下一个不是空格的字符,然后读取它找到的所有字符,直到它到达空格字符或文件末尾。