指定绝对路径时无法打开fstream

时间:2009-10-31 05:02:51

标签: c++ fstream

我知道这是相当可笑的,但我似乎无法让简单的C ++ ofstream代码工作。你能否告诉我以下代码可能出现的问题:

    #include <fstream>

    ...

    ofstream File("C:\temp.txt");

    if(File)
       File << "lolwtf";

每当我指定绝对路径时,打开ofstream失败。相对路径似乎没有问题。我真的不确定这里的问题是什么。

3 个答案:

答案 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");