0

モードポインタとは何のモード'insert'ですかoverwrite

私はfile pointerC が初めてなので、私の質問はかなりばかげているかもしれません。と感じた人がいたらごめんなさい。

insert some characterそして、既存のファイルに入れたいが、このファイルの文字を失わない場合に何ができるでしょうか。

4

2 に答える 2

3

私の知る限り、挿入モードをサポートしているファイル システムはありません。

ファイル ストリームに書き込むための C のセマンティクスは、次のいずれかです。

  • の切り捨て"w"。成功すると、現在のファイルの内容は失われますfopen()
  • のファイルの内容を上書きしています"r+"。ファイルに明示的に書き込まれたバイトだけが既存の内容を上書きし、残りは変更されません。ファイルの末尾を超えて書き込むと、追加モードと同様に、ファイルのサイズが拡張されます。
  • のファイルに追加しています"a"。すべての書き込み操作は、ファイルの最後で発生します。

ファイルが存在しない場合もファイルが作成されることに"w"注意してください。"a"

既存のファイルの途中にコンテンツを挿入するには、コンテンツを新しいファイルにコピーして、新しいコンテンツを適切な位置に書き込む必要があります。両方を閉じて古いファイルを削除した後、新しいファイルの名前を古い名前に変更できます。

于 2016-01-03T16:55:15.860 に答える
1

開き方によって異なります:

追加するには:

fopen("myfile.txt", "a");

書き込む(上書きする)には:

fopen("myfile.txt", "w");
于 2016-01-03T16:53:50.840 に答える