C++ fstream 混淆
Posted
技术标签:
【中文标题】C++ fstream 混淆【英文标题】:C++ fstream confusion 【发布时间】:2015-06-20 16:58:19 【问题描述】:我有一个程序,在整个过程中多次使用 fstream 保存到文件。它在 microsoft vs 中运行时完美运行,但是当我编译一个版本并将 .exe 带到我的桌面时,它不会写入那里的任何文件。
ofstream save;
save.open("Data\\options.scav");
/*Write stuff to file*/
这在 Visual Studio 中运行良好,但如果我将它带到我的桌面,甚至为它创建 Data 文件夹,它就不会写入。任何帮助将不胜感激。
【问题讨论】:
去掉Data\\是否有效? @AngusComber 是的,确实如此。 那你就知道原因了。如果 Data 文件夹不存在,请创建它。 @AngusComber 是的,我想是的,谢谢,已修复。如果您作为答案发布,我会加注星标。 【参考方案1】:您不能写入尚未创建的路径。
这样做:
// check Data folder exists
ofstream save;
save.open("Data\\options.scav");
请注意,出于可移植性原因,您也可以这样做(在 Windows 或 Unix 上):
// check Data folder exists
ofstream save;
save.open("Data/options.scav");
【讨论】:
以上是关于C++ fstream 混淆的主要内容,如果未能解决你的问题,请参考以下文章