3

我知道这很可笑,但我似乎无法让简单的 C++ ofstream 代码工作。您能否告诉我以下代码可能有什么问题:

    #include <fstream>

    ...

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

    if(File)
       File << "lolwtf";

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

4

3 回答 3

26

您的路径无效:

"C:\temp.txt"

\“t”转义为水平制表符,因此路径值最终为:

"C:    emp.txt"

你想要的是:

"C:\\temp.txt"

或者

"C:/temp.txt"
于 2009-10-31T05:16:07.900 回答
8

尽管 Windows 用户似乎更喜欢非标准的 '\' 字符作为路径分隔符,但标准的 '/' 可以完美地工作并避免此类烦人的问题。

所以,我的建议是坚持使用正斜杠......

std::ofstream File("C:/temp.txt");
于 2009-10-31T12:17:27.173 回答
8

问题出在您的字符串中,您没有转义反斜杠。

 ofstream File("C:\\temp.txt");
于 2009-10-31T05:16:09.507 回答