「A+」モードでファイルを開く
-
01-10-2019 - |
質問
次のコマンドを使用してファイルが開かれている場合:
FILE *f1=fopen("test.dat","a+");
Man Pageは読みます:
A+
読み取りと追加のために開いています(ファイルの終わりに書く)。ファイルは存在しない場合に作成されます。読み取りの最初のファイル位置はファイルの先頭にありますが、出力は常にファイルの最後に追加されます。
そうです f1
2つの個別のオフセットポインターがあります。1つは読み取り用、もう1つは書き込み用ですか?
解決
いいえ。
最初はファイルの開始時にあるポインターは1つだけですが 書き込み操作が試行されると、ファイルの最後に移動します. 。使用して再配置できます fseek
また rewind
読み取りのためにファイルのどこにでもありますが、操作を書くことでファイルの最後に戻ります。
他のヒント
いいえ、ポインターは1つだけです。
あなたはできる 一度もない 読み取りと書き込み操作を混ぜます FILE
電話せずに fseek
その間に。いくつかの実装で希望どおりに機能する場合がありますが、これに依存するプログラムは未定義の動作を持っています。したがって、2つの位置を持つという質問は無意味です。
所属していません StackOverflow