【发布时间】:2023-03-24 07:00:01
【问题描述】:
我尝试在两个文本文件之间找到相同的行。
while (getline (texta,str1)){
while (getline (textb,str2)){
cout<<str1<<str2<<endl;
}}
第一个虽然工作得很好,但第二个只是阅读第一部分文本然后退出。我尝试了不同的文本,但没有用。
如果你想查看所有代码:
void similars(string text1,string text2){
string str1,str2;
ifstream texta(text1.c_str());
ifstream textb(text2.c_str());
if(texta.is_open() && textb.is_open()){
while (getline (texta,str1)){
while (getline (textb,str2){
cout<<str1<<str2<<endl;
}
}
}
else cout << "Unable to open file";
}
【问题讨论】:
-
请发布您的示例输入、生成的输出以及生成的输出有什么问题。
-
您在第二个 while 循环中缺少
)顺便说一句 -
是的,我刚看到 :D 谢谢
-
你从
texta读了一行,然后读到textb到筋疲力尽。由于后者到达文件结尾,因此所有读取它的尝试都会进一步失败。在你看来,str2在第一次通过外循环之后就再也不会改变它的值了。