2016-07-21 32 views
0

Ich fand mehrere verknüpfte Threads, aber keine hatte eine klare, vollständige Lösung für diese Aufgabe.Umschalten zwischen Flstream Trunc und App-Modi durch Variable

Ich muss den Openmode meines Ofstream während der Laufzeit in der Konsole wählen und ich verstehe nicht ganz den Fluss der Deklarationen notwendig. Ich brauche eine Kombination von Dingen wie:

std::ios_base::openmode myopenmode; 
std::ios::openmode myopenmode; 
std::ofstream::openmode myopenmode; 
myopenmode = trunc; //??? or something. 

und in der Lage, den Wert von myopenmode einstellen trunc oder App, aber die Syntax für das geht so schließlich ich so etwas wie diese:

myfilestream.open(filename, myopenmode); 

Ich konnte das nur in der Dokumentation nicht finden.

Antwort

0

Ok Ich denke, ich habe es ausgearbeitet. Irgendwie offensichtlich, wenn ich es einmal getan habe.

std::ofstream::openmode myopenmode = std::ofstream::trunc; // set to trunc 
std::ofstream::openmode myopenmode = std::ofstream::app; // set to app 
myfilestream.open(filename, myopenmode); 
0

Der zweite Parameter in offener ist eine Bitmaske

http://www.cplusplus.com/reference/ios/ios_base/openmode/ siehe

würde ich sagen, wenn Sie in der Eingabe entweder bekommen sie ebenso wie die richtige Bitmaske oder wandeln Sie Ihre Eingabe in die richtige Bitmaske mit if/else oder switch-Anweisungen.

+0

Können Sie Ihre Antwort mit einem Beispiel bearbeiten, mit welchem ​​Code das erreicht wird, was Sie sagen? – Michael