次のコードは、linux(g ++)でコンパイルして実行すると効果がありません。それは移植性の問題ですか?どうすればそれを動作させることができますか?ファイルIOの移植性の問題
ofstream myfile;
myfile.open("myfile.txt", fstream::in | fstream::out | fstream::app);
次のコードは、linux(g ++)でコンパイルして実行すると効果がありません。それは移植性の問題ですか?どうすればそれを動作させることができますか?ファイルIOの移植性の問題
ofstream myfile;
myfile.open("myfile.txt", fstream::in | fstream::out | fstream::app);
A std::ofstream
出力ストリームです。定義上、は入力データできません。だから、フラグとしてfstream::in
を与えることは間違っています。
との出力先にファイルストリームを入力する場合は、std::fstream
を使用します。
確かに、これはあなたの問題の原因とは限りません。しかしそれは間違っています。
ファイルに書き込まれない最も一般的な理由は、終了時にストリームを閉じることを忘れたためです。プログラムが終了する前のどこかにあるmyfile.close();
。これによりバッファがフラッシュされ、実際にすべてがファイルに書き込まれ、途中のキャッシュには格納されません。
「myfile」とは何か、期待される効果は何ですか? –
C++はすべてのタイプについてです。 'myfile'のタイプは? 「効果がない」とはどういう意味ですか? –
申し訳ありません..ただラインを逃しました。投稿を更新しました。予想される効果によって、出力がmyfile.txtに追加されることを意味します。 – newbie