C++中使用包含引号的字符串指定ofstream的文件路径

Use a string containing qutation marks to specify a filepath for ofstream in C++

我正在尝试传递一个字符串作为 ofstream 的路径。 我正在使用 .c_str() 函数,但程序在不生成文件的情况下运行。

ifstream path_stream ("config.txt");
path_stream >> path;
path_stream.close();
ofstream datum (path.c_str());

config.txt的内容是

"test.txt"

如果我直接将其提供给 ofstream,程序会创建文件 test.txt
使用字符串,它只运行程序而没有任何输出。

问题是您将 config.txt 文件中的文件路径用引号引起来了。

If I give that directly to ofstream, the program creates the file test.txt.

我想你已经尝试过了

ofstream datum ("test.txt");

这与

非常不同
ofstream datum ("\"test.txt\"");
              // ^^        ^^

因为这相当于

ofstream datum (path.c_str());

从文件中读取 path 之后。

所以只需从您的 config.txt 文件中删除引号即可。