我在措辞这个问题时遇到了麻烦(正如您从标题中看到的那样),但我会尝试:
如果布尔变量为真,我将打开一个文件流(ofstream),然后如果相同的布尔变量为真,则尝试再次关闭文件流会给出错误
'fout' was not declared in this scope"
这是一个最小的例子:
using namespace std;
#include <fstream>
int main(int argc, char * argv[]) {
bool output = true;
if (output) {
ofstream fout("test.txt");
}
if (output) {
fout.close();
}
} // end main
我要做的是打开一个文件来存储程序的一些结果,只有当布尔“输出”为真时。我可以让它每次都打开文件(不测试),但一段时间后会变得非常混乱,因为真正的文件名取决于程序中设置的变量,我不想覆盖任何旧文件,所以我宁愿这样做。
编辑:今天我了解了“范围”是什么......谢谢大家!
工作代码如下:
using namespace std;
#include <fstream>
int main(int argc, char * argv[]) {
bool output = true;
ofstream fout;
if (output) {
fout.open("test.txt");
}
if (output) {
fout.close();
}
} // end main