getline dosnt从文件

时间:2015-07-24 01:31:41

标签: c++ text-files fstream getline

我正在尝试从文件中读取字符串并将其与另一个字符串进行比较。 出于某种原因,getline只返回并清空。

int count =0;
string line;
ifstream emailFile;
emailFile.open("email.txt");


if (emailFile.is_open())
{
    cout << "file open \n";


while (emailFile.eof()!=true)
{
    getline(emailFile,line);
    cout <<line<<endl;


        for (int i=0; i<27; i++)
        {
            cout <<"line: "<< line << endl;
            cout<< "Spamword: "<< spamWords[i]<<endl;
            if (line.find(spamWords[i]) != string::npos)
            {
                cout <<"found line: "<< line << endl;
                cout<< "found Spamword: "<< spamWords[i]<<endl;
                count +=2;
            }

        }
}
}

else cout<< "file not found";

cout <<count;

}

我尝试过对其进行故障排除,我真的不明白为什么没有阅读。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

这个人遇到了同样的问题。

http://www.cplusplus.com/forum/beginner/27799/

确保您的txt文件位于内置exe的同一目录中。 从上面的链接,这行代码可能有助于确保您实际上在文件中。

//Check if data file is open and reports
if(read.is_open())
  cout << "File ./" << file_name << " is open.\n";
  else
cout << "Error opening " << file_name << ".\n";