相关疑难解决方法(0)

未在 C++ 中打开时是否允许写入 ofstream

我有一个这样的代码:

# in class definition
std::ofstream m_myFile;

## some where in code
m_myFile.open(filename);
Run Code Online (Sandbox Code Playgroud)

然后在几个地方,我写文件如下:

m_myFile << "some data to file"<<std::endl;
Run Code Online (Sandbox Code Playgroud)

这运行良好,现在我需要向系统添加一个标志,当未设置时,不应创建和写入此文件。我已经检查过,如果我这样做,我可以运行该应用程序:

if(createFile)
{
      m_myFile.open(filename);
}
Run Code Online (Sandbox Code Playgroud)

并将写入文件保持原样,我在 Windows 上没有收到任何运行时错误。我的问题是,如果我没有打开文件并写入其流,那么标准行为是什么?

我应该得到运行时错误还是 ofstream 只是忘记数据而不是运行时错误?

我正在使用 Visual Studio 2013。

c++ std ofstream

3
推荐指数
1
解决办法
1010
查看次数

标签 统计

c++ ×1

ofstream ×1

std ×1