gpt4 book ai didi

c++ - 同一文件流对象的多次使用

转载 作者:行者123 更新时间:2023-11-28 03:19:37 25 4
gpt4 key购买 nike

我编写了以下源代码:

ifstream leggiFile;
leggiFile.open("Questions.txt",ios::in);

if (!leggiFile.good())
{
cerr << "\n\n\n\tErrore during file opening Questions.txt\n\n\n" << endl;
}
else
{
// ...
};

leggiFile.close();
system("pause");

现在我想使用同一个对象来处理第二个文件。

leggiFile.open("Answers.txt",ios::in);

i=0;
if(!leggiFile.good())
{
cerr << "\n\n\n\tError during opening of file answers.txt\n\n\n" << endl;
}
else
{
// ...
}

问题:第2次无法打开文件,出现错误信息。为什么?你能给我一个解决方案吗?

最佳答案

您可能已经对设置了一个或多个错误标志的流进行了操作,例如 eofbit

关闭流并不会清除它的错误标志,您必须手动完成。关闭后调用 leggiFile.clear();

不过,从 C++11 开始,这是由 open() 自动完成的。如果您已经在使用 C++11 编译器,那么您的问题出在其他地方(不能说出在哪里,您没有显示足够的代码)。

关于c++ - 同一文件流对象的多次使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15841127/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com