无法写入可执行文件当前目录中的文件夹

Cannot write to a folder within the exectuable's current directory

我有一个程序正在尝试写入各种文件。为了清理它,我想将这些文件放入一个目录中。我的程序 运行 位于与 VS 2012 的 sln 不同的目录中,即 exe 是目录中 VS 文件的唯一部分。如果我只是打印文件,那很好,但如果我试图将这些相同的文件打印到不同的目录,那么它什么也做不了。我打印出我试图访问的目录,并且得到“000000”作为响应。代码如下:

std::ofstream output
output.open("\myFiles\entityOutput.csv", std::ios::app);
output << "print some stuff here" << std::endl; 

我确定这很简单,但我一直无法弄清楚是什么。尝试过“\\myFiles.....”已经是“/myFiles”等。我也在 Windows 7 系统上。

这是因为,在打开文件时,您需要将 \ 替换为 \/。原因是 \ 字符被认为是一种特殊字符,例如用于表示行尾字符 (\n)。

只需交换 output.open("\myFiles\entityOutput.csv", std::ios::app);output.open("/myFiles/entityOutput.csv", std::ios::app);, 但是请确保路径也正确!

通常首先检查文件打开是否成功是一个很好的编程习惯。