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