2016-04-16 18 views
0

上書きする代わりにCを使用してファイルに文字を挿入するにはどうすればよいですか?私はまた、ファイルの先頭とファイルの最後に書きたいと思っています。 (私は再配置することができますが、私は挿入することはできませんテキストが上書きされます。)私はthis methodを試みたが、それがうまくいかなかったcで上書きするのではなく、ファイルにテキストを挿入する

私はこれを試してみたが、それはうまくいきませんでした:

fword = fopen("wrote.txt", "rb+"); 
fseek(fword, 0, SEEK_SET); 
fscanf(fword, "%c", &l); 
+2

ファイルをafaikに挿入する方法はありません。既存のテキストを上書きしたり、ファイルの末尾に追加することができます。物を挿入するには、ファイルをメモリに読み込んでそこに変更を加え、すべてを書き戻します。 – Unimportant

答えて

0

最後にテキストを追加するには、"a"モードでファイルを開くことができます(fopenマニュアルを参照)。それはあなたのテキストを最後に書きます。

他の位置にテキストを追加するには、それ以降のすべてをメモリに読み込み、必要なものを書き込んでから残りの部分を書き込む必要があります。

0

ファイルはバイトストリームを抽象化したもので、バイトストリームに挿入するという概念はありません。特定の場所を探してそこにデータを書き込むことができます。書き込んだバイトは、バイトの配列としてファイルに格納されます。書き込みが現在のファイルサイズを超える場合、ファイルは拡張されます。

関連する問題