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