我知道这是相当可笑的,但我似乎无法让简单的C++ ofstream代码工作.你能否告诉我以下代码可能出现的问题:
#include <fstream>
...
ofstream File("C:\temp.txt");
if(File)
File << "lolwtf";
Run Code Online (Sandbox Code Playgroud)
每当我指定绝对路径时,打开ofstream都会失败.相对路径似乎没有问题.我真的不确定这里的问题是什么.
Jam*_*lis 25
您的路径无效:
"C:\temp.txt"
Run Code Online (Sandbox Code Playgroud)
将\"t"转义为水平制表符,因此路径值最终为:
"C: emp.txt"
Run Code Online (Sandbox Code Playgroud)
你想要的是:
"C:\\temp.txt"
Run Code Online (Sandbox Code Playgroud)
要么
"C:/temp.txt"
Run Code Online (Sandbox Code Playgroud)
问题在于你的字符串,你没有逃避反斜杠.
ofstream File("C:\\temp.txt");
Run Code Online (Sandbox Code Playgroud)
尽管Windows人员似乎更喜欢非标准'\'字符作为路径分隔符,但标准'/'可以完美地工作并避免像这样的恼人问题.
所以,我的建议是坚持前进斜线......
std::ofstream File("C:/temp.txt");
Run Code Online (Sandbox Code Playgroud)