为什么不能使用一个ifstream变量打开一个文件,读取它,然后关闭它,然后打开另一个文件,读取和关闭等等?怎么看代码(让我们说每个文件里面都有一个整数):
int k, l;
ifstream input1;
input1.open("File1.txt");
input1 >> k;
input1.close();
input1.open("File2.txt");
input1 >> l;
input1.close();
Run Code Online (Sandbox Code Playgroud)
我解决问题的唯一方法是创建另一个ifstream变量.
Soa*_*Box 15
您可以使用相同的变量,.clear()在重用之前需要调用以清除对象的标志:
int k,l;
ifstream input1;
input1.open("File1.txt");
input1 >> k;
input1.close();
input1.clear();
input1.open("File2.txt");
input1 >> l;
input1.close();
input1.clear();
Run Code Online (Sandbox Code Playgroud)
但我建议您不要重复使用它们.如果您不希望同时拥有多个变量,则可以将每个变量保留在自己的范围内:
int k,l;
{
std::ifstream input1("File1.txt");
input1 >> k;
}
{
std::ifstream input1("File2.txt");
input1 >> l;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15666 次 |
| 最近记录: |