0

開いているファイルのカーソル位置を変更しようとしています。

fp = fopen("dirty", "a+");
fprintf(fp, "Text at end of file");

// seek to end of third line (eg.)

fprintf(fp, "Text at end of third line");

ファイルを閉じてから再度開いてみましたが、fseekうまくいきませんでした。

どんな助けでも大歓迎です。

4

2 に答える 2

2

ファイルの先頭まで読み込んでから、3 番目の改行が見つかるまでfseekcharごとに読み取る必要があります(正確に 1 文字しか取得できません)。ただし、4 行目を上書きせずに 3 行目以降にテキストを挿入することはできません。getcungetc

(ファイルの途中への挿入は、通常、最初の部分をコピーし、新しいデータを書き込んでから、最後の部分をコピーすることによって実行されます。)

于 2013-05-07T15:20:09.973 に答える