文件路径使用std :: ofstream生成

时间:2013-08-01 14:23:06

标签: c++ file ofstream

以下代码正常运行

    //m_outputFilePath and m_moduleName are strings

     std::string moduleVerilog;
    // call Gen function to update moduleVerilog

    std::ofstream moduleVerilogFile(m_outputFilePath + "\\" + m_moduleName + ".v");
    if (moduleVerilogFile.is_open())
    {
        moduleVerilogFile << moduleVerilog;
        moduleVerilogFile.close();
    }

但如果我将moduleVerilogFile更改为:

std::ofstream moduleVerilogFile(m_outputFilePath + "\\Verilog\\" + m_moduleName + ".v");

没有任何内容写入文件,因为moduleVerilogFile.is_open()返回false 我应该明确生成Verilog目录吗?(看起来很奇怪)

1 个答案:

答案 0 :(得分:0)

如果Verilog目录不存在,std::ofstream将不会为您创建它 - 它的目的是读取和写入文件。如果该目录不存在,则无法打开该文件,因此is_open确实是错误的。