2011-01-17 10 views
18

Ich möchte einfach (anhängen) in eine Logdatei. Ich sah es hier oben:
http://www.cplusplus.com/reference/iostream/fstream/open/Wie an eine Datei mit fstream angefügt werden fstream :: app-Flag scheint nicht zu funktionieren

so das, was ich tat

ist
#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

Sie können auch Ofstream verwenden, Ihr Code würde damit arbeiten. – isarandi

Antwort

28

fstream::app|fstream::out statt fstream::app. app macht keinen Sinn ohne Angabe out (man könnte denken, es sollte out impliziert haben, aber es nicht).

+7

fstream wird Standardwerte zur Verfügung stellen, wenn Sie kein Argument angeben, aber wenn Sie ein (z. B. App) liefern, wird es nicht automatisch ODER Ihr mit den Standardwerten. – CashCow

+0

'fstream :: app' bedeutet nicht unbedingt Ausgabe anhängen, aber' ofstream :: app' bedeutet Ausgabe anhängen (wegen 'ofstream'). Mit anderen Worten, es ist der Stream-Typ, nicht der Öffnungsmodus. –

Verwandte Themen