3

これはかなり笑えることは知っていますが、単純なC++のストリームコードを機能させることができないようです。次のコードで何が間違っている可能性があるか教えてください。

    #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

問題は文字列にあり、バックスラッシュをエスケープしていません。

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

Windowsの人々は、パス区切り文字として非標準の「\」文字を好むように見えますが、標準の「/」は完全に機能し、このような厄介な問題を回避します。

だから、私のアドバイスはスラッシュを前に固執することです...

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