用C++读取文件



我正试图从C++中的一个文件中读取一个单词列表。然而,最后一个单词要读两遍。我不明白为什么会这样。有人能帮我吗?

int main () {
ifstream fin, finn;
vector<string> vin;
vector<string> typo;
string word;
fin.open("F:\coursework\pz\gattaca\breathanalyzer\file.in");
if (!fin.is_open())
    cout<<"Not openn";
while (fin) {
    fin >> word;
    cout<<word<<endl;
    vin.push_back(word);
}
fin.close();
}

您的循环条件被关闭一个:

 while (fin >> word) {
    cout<<word<<endl;
    vin.push_back(word);
 }

您需要做:

while((fin >> word).good()) {
     vin.push_back(word);
}

因为fin >> word失败并且您没有检查它。

它不会被读取两次。这只是旧值,因为fin >> word失败了。使用

while(fin >> word)
{
  ...
}

相反。它尝试读取并在失败时停止循环。

检查这些。。

你是如何用C++从文件中读取单词的?

http://www.bgsu.edu/departments/compsci/docs/read.html

http://answers.yahoo.com/question/index?qid=20081216024044AAKidaX

相关内容

  • 没有找到相关文章

最新更新