在源代码所在的文件夹以外的某个文件夹中创建文件

时间:2015-02-05 15:47:30

标签: c++ file-io fstream

我有以下文件夹结构:          /码             /文件 (即"文件"文件夹存在于"代码"文件夹中) 我正在尝试使用fstream创建一个文件(并在其中写入):

ofstream out("\files\plsmap.txt");

编译器没有给出任何错误,但是,"文件"中没有创建文件。夹。可能的原因是什么,还有其他方法可以做到这一点

1 个答案:

答案 0 :(得分:3)

你写了“\ files \ plsmap.txt”。前导斜杠指定整个文件系统的根目录。所以“\ files”与“\ code \ files”非常不同。您可以尝试删除前导斜杠,或更改字符串,使其包含您尝试编写的目录的完整绝对路径。您可以通过从终端在该目录中运行pwd来确定目录的绝对路径。

除了错误的斜杠之外,另外需要注意的是反斜杠在C ++字符串中是特殊的,当你用C ++源代码编写反斜杠时,它们需要使用第二个反斜杠进行转义:

const char * path = "code\\plsmap.txt";

您的环境可能允许您使用正斜杠,这样更容易,因为它们不需要转义。