問題タブ [tdm-gcc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - fstream のデフォルト モード
SOポストC++ファイルストリームオープンモードのあいまいさを見ていました。fstream のデフォルトのファイルを開くモードを知りたかったのです。答えの1つは言う、
上記が意味することは、次のコードがまったく同じオープンフラグ fstream f("a.txt", ios_base::in | ios_base::out); でファイルを開くことです。ifstream g("a.txt", ios_base::out); ofstream h("a.txt", ios_base::in);
したがって、正しく理解すれば、fstreamのオブジェクトを作成した場合、読み取りまたは書き込みのいずれかができるはずです。
ただし、以下のコードはファイルにデータを書き込みません
ただし、以下に示すようにモードを追加すると、「ファイルへのデータの書き込み」データを含むテキストファイルが作成されます
では、デフォルト モードは実装定義であるかどうか。TDM-GCC-64 ツールチェーンを使用しています。
c - r+ モードで書き込まれた余分なスペース
以下のコードでは、行の後の開始位置へのファイル ポインターをシークした後にデータを書き込むと、余分なスペース (約 300 スペース) が追加されます。
2 番目の fputs() 関数呼び出しをコメントしても問題はありません。また、入力されたデータは最後に追加されず、代わりにスペースのみが追加されます。問題を特定できません。
TDM-GCC-64 コンパイラを使用しています。
テスト用に、file1.txt の先頭に「Welcome to You All」という内容が含まれていました。入力データ: "Today" プログラム実行後の出力: "Todayme to You All" の後に多数のスペースが続きます。