2011-01-17 17 views
18

Po prostu chcę napisać (dołączyć) do pliku logu. Spojrzałem go tutaj:
http://www.cplusplus.com/reference/iostream/fstream/open/Jak dołączyć do pliku z flagą fstream fstream :: app wydaje się nie działać

więc to co zrobiłem

#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

Możesz także użyć funkcji "z prądem", twój kod by z tym działał. – isarandi

Odpowiedz

28

fstream::app|fstream::out zamiast fstream::app. app nie ma sensu bez określenia out (można by pomyśleć, że powinno to sugerować out, ale tak nie jest).

+7

fstream dostarczy wartości domyślne, jeśli nie podasz argumentu, ale jeśli go dostarczysz (np. Aplikacja), nie będzie automatycznie LUB twoja z domyślnymi. – CashCow

+0

'fstream :: app' nie musi oznaczać wyjścia, ale' ofstream :: app' oznacza dołączenie wyjścia (z powodu 'ofstream'). Innymi słowy, jest to typ strumienia, a nie tryb otwierania. –

Powiązane problemy