我有以下文件夹结构: /码 /文件 (即"文件"文件夹存在于"代码"文件夹中) 我正在尝试使用fstream创建一个文件(并在其中写入):
ofstream out("\files\plsmap.txt");
编译器没有给出任何错误,但是,"文件"中没有创建文件。夹。可能的原因是什么,还有其他方法可以做到这一点
答案 0 :(得分:3)
你写了“\ files \ plsmap.txt”。前导斜杠指定整个文件系统的根目录。所以“\ files”与“\ code \ files”非常不同。您可以尝试删除前导斜杠,或更改字符串,使其包含您尝试编写的目录的完整绝对路径。您可以通过从终端在该目录中运行pwd
来确定目录的绝对路径。
除了错误的斜杠之外,另外需要注意的是反斜杠在C ++字符串中是特殊的,当你用C ++源代码编写反斜杠时,它们需要使用第二个反斜杠进行转义:
const char * path = "code\\plsmap.txt";
您的环境可能允许您使用正斜杠,这样更容易,因为它们不需要转义。