因此,我试图在以下文本文件中阅读400和*****之间的部分:
400
http://csweb.cs.wfu.edu
http://college.wfu.edu/cs/wp-content/themes/wfcollegeonepro
http://college.wfu.edu/cs/sample-page/feed
http://college.wfu.edu/cs/wp-includes/wlwmanifest.xml
http://college.wfu.edu/cs
http://www
http://www.wfu.edu
http://college.wfu.edu
http://college.wfu.edu/cs/news
*****
16331
http://college.wfu.edu/cs/wp-content/themes/wfcollegeonepro http://csweb.cs.wfu.edu
http://college.wfu.edu/cs/sample-page/feed http://csweb.cs.wfu.edu
http://college.wfu.edu/cs/wp-includes/wlwmanifest.xml http://csweb.cs.wfu.edu
http://college.wfu.edu/cs http://csweb.cs.wfu.edu
http://www http://csweb.cs.wfu.edu
http://www.wfu.edu http://csweb.cs.wfu.edu
我编写了以下代码(我很确定)完成任务:
file2.open("./cswebDataCopy2.txt");
cout << "Opening cswebData.txt file..." << endl;
if(!file2)
{
cout << "System failed to open cswebData.txt..." << endl;
}
else
{
cout << "cswebData.txt successfully opened!" << endl;
}
cout << "READING FROM: cswebData.txt" << endl;
while(!file2.eof())
{
getline(file2,line4);
//cout << line4 << endl;
if(line4=="400")
{
cout << "Number of vertices in cswebData.txt: " << line4 << endl;
continue;
}
else if(line3=="*****")
{
cout << "Found the ****** " << endl;
break;
}
else
{
cout << "Couldn't find the 400 or ***** " << endl;
}
}
cout << "Code after while loop" << endl;
file2.close();
但是,当我运行代码时,它只会在else语句中打印代码,因为文件中有行,然后是while循环后的代码,即使行400和*****显然在文件中。所以,我想我会打印出正在读取的行,只是在任何被跳过的情况下。事实证明,程序正在正确读取所有行。然后,我认为这可能与我在if和else-if语句中进行比较的方式有关。所以,我继续使用字符串比较函数重新编写代码,如下所示:
while(!file2.eof())
{
getline(file2,line4);
//cout << line4 << endl;
if(line4.compare("400")==0)
{
cout << "Number of vertices in cswebData.txt: " << line4 << endl;
continue;
}
else if(line4.compare("*****")==0)
{
cout << "Found the ***** " << endl;
break;
}
else
{
cout << "Couldn't find 400 or the ***** " << endl;
}
}
cout << "Code after the while loop" << endl;
然而,在运行我的代码的第二个版本之后,我仍然得到与我的第一个代码版本相同(错误)的结果。在这一点上,我对我的代码为什么不工作有点困惑。如果有人有出色的洞察力,那就太好了。谢谢!
答案 0 :(得分:1)
因此,事实证明问题与我的代码的任何版本无关。显然,我的Sublime文本文件中有一些隐藏的字符,它们丢失了文件的读取。当我将原始文本文件的内容复制并粘贴到一个全新的文本文件中,然后在新文本文件上运行我的两个版本的代码时,一切都按预期工作。谢谢大家,感谢您的投入!