2016-07-21 5 views
0

関連するスレッドがいくつか見つかりましたが、このタスクには完全ではっきりした解決策はありませんでした。fstream truncとappモードを変数で切り替える

コンソールで実行時に私のofstreamのopenmodeを選択する必要があり、私は必要な宣言の流れをよく理解していません。私はのようなもののいくつかの組み合わせが必要です。

myfilestream.open(filename, myopenmode); 

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

をそしてTRUNCまたはアプリするmyopenmodeの値を設定することができ、しかし、そのための構文は、最終的に私はこのような何かを持っているので、行きます私はドキュメントでこれを見つけることができませんでした。

答えて

0

私はそれをうまくいったと思います。私がそれをやったならば、明白な種類。

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

オープンの2番目のパラメータはビットマスク では、私はあなたが入力に取るとき言うのどちらかだけで適切なビットマスクとしてそれを取得したり、あなたの入力が適切に変換したい

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

を見ますif/elseまたはswitch文を使用したビットマスク。

+0

答えを編集して、あなたが言っていることを達成するコードの例を教えてください。 – Michael

関連する問題