- 締切済み
C言語でテキストファイルに文章を挿入する方法を教えて頂けませんか?
こんにちは。いつもお世話になっております。 C言語で、テキストファイルの「意図した場所」に文章を挿入することは可能でしょうか。 例えば、以下の内容のテキストファイル(file.txt)があったとして、 13:30:12.722533 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 13:30:35.722640 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 13:30:45.722816 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 13:30:55.722903 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 13:30:59.723006 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 13:31:01.723110 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 このテキストファイル内に、 13:30:43.722729 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 上のような文章を時間軸上に入れたい時は、 13:30:35.722640 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 13:30:45.722816 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 上の2文の間に挿入して、 13:30:12.722533 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 13:30:35.722640 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 13:30:43.722729 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 13:30:45.722816 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 13:30:55.722903 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 13:30:59.723006 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 13:31:01.723110 IP 10.1.4.12.ssh > 10.1.4.99.55703: tcp 96 となるようにしたいと考えています。 このような事は可能でしょうか。良い方法をご存知であれば是非ご教授頂きたく思います。 どうぞよろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- liar_adan
- ベストアンサー率48% (730/1515)
一般的には、ファイルの途中の部分を挿入・削除する方法は用意されていません。 OSによってはそういう命令が用意されているかも知れませんが、 C言語標準にはありません。 一般的な方法としては、 (1)元のファイルの内容を読み込み、 (2)別のファイルとして書き出し、挿入したい所は挿入し、 (3)書き出しが終了したら、元のファイルを削除し、 (4)新しいファイルの名前をもとのファイルの名前に変更する。 となります。 (ファイルが短くて、内容をメモリ上にすべて保存できる場合は、 単に読み出ししてから上書きをするという方法でもかまいません) 以下も参照ください。 http://www.kouno.jp/home/c_faq/c19.html#14