2011-01-17 7 views
18

ログファイルに単に書き込み(追加)したいだけです。私はここでそれを見上げ:
http://www.cplusplus.com/reference/iostream/fstream/open/fstreamでファイルに追加する方法fstream :: appフラグが機能していないようです

ので、これは私が

#include <fstream> 

fstream outfile; 

//outfile.open("/tmp/debug.txt"); // works, simply for writing 
outfile.open("/tmp/debug.txt", fstream::app); // does nothing 

outfile << "START" << endl; 

outfile.close(); 
+0

また、ofstreamを使用することもできます。コードはそのコードで動作します。 – isarandi

答えて

28

fstream::app|fstream::out代わりのfstream::appやったことです。 appoutを指定しないと意味がありません(暗黙のうちにoutを含めるべきだと思うかもしれませんが、そうではありません)。

+7

引数を指定しないとfstreamはデフォルトを提供しますが、appのようなものを指定した場合、自動的にデフォルトのものとORGされません。 – CashCow

+0

'fstream :: app'は必ずしも出力追加を意味しませんが、' ofstream :: app'は(ofstream'のために)出力追加を意味します。つまり、開始モードではなくストリームタイプです。 –

関連する問題