0

以下代码正常工作

    //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目录吗?(看起来很奇怪)

4

1 回答 1

0

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

于 2013-08-01T14:27:46.867 回答