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
文件中删除引号即可。
我正在尝试传递一个字符串作为 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 filetest.txt
.
我想你已经尝试过了
ofstream datum ("test.txt");
这与
非常不同ofstream datum ("\"test.txt\"");
// ^^ ^^
因为这相当于
ofstream datum (path.c_str());
从文件中读取 path
之后。
所以只需从您的 config.txt
文件中删除引号即可。