我有一个这样的代码:
# 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。