C ++ ofstream无法从变量名打开文件(即使使用c_str()之后也是如此)

时间:2018-12-01 02:15:20

标签: c++ c++11 filestream

在我的代码中,我试图创建一个文件并将其写入:

std::ofstream saveFile("file.txt");
ofstream << "test" << endl;

完美运行! 但是,

std::string fileName = "file.txt"
std::ofstream saveFile(filename.c_str());
ofstream << "test" << endl;

我尝试使用c_str()和不使用c_str()都没有运气。没有错误。但是ofstream.good()返回false。

1 个答案:

答案 0 :(得分:1)

应该可以。但是,您真的发布了正确的代码吗?

至少您的代码有几个明显的语法错误:

std::string fileName = "file.txt"; // no semicolon
std::ofstream saveFile(fileName.c_str()); // 'fileName' rather than 'filename'
saveFile << "test" << endl; // don't redirect "test" to std::ofstream
// std::ofstream is a class rather than an instance

有关更多详细信息,请参阅fstream