
No.4ベストアンサー
- 回答日時:
C言語ライブラリのfopenは
・新規作成して上書き(古い内容は消える)
・末尾から追記(古い内容の続きに書く)
のどちらかしか出来ません。
残念ながら
・既存ファイルの先頭や途中への挿入
は出来ないのです。
もし「先頭に1行挿入したい」のなら
1.作業用の別のファイルを新規作成する。
2.まず、挿入したい行を1行、1.で新規作成したファイルに書く
3.既存ファイルを「読込モード」で開いて、1行読む
4.読んだ1行を、1.で新規作成したファイルに書く
5.既存ファイルがEOFになるまで、3~4を繰り返す
6.両方のファイルを閉じる
7.既存ファイルを削除する
8.最初に新規作成したファイルのファイル名を、削除した既存ファイルのファイル名にリネームする。
というような面倒な処理が必要になります。
No.3
- 回答日時:
この場合、追記(Append)ではなくて、更新(Renew)になりますよね。
たとえば、新たなテキストをbと言うテキストファイルに保存し、追記モードでaのファイルをbに追記して、aファイルを削除して、bファイルを名称変更してaにするなんて小手先はだめ?じゃあ、なければ#2さんの言うとおり一度aのテキストをスタックに退避しておき、更新したい(追記ではない)テキストをaに落としてから、スタックを呼び出して、その後半部分に前のaの内容を書き込むと言う手しかないでしょうね。でも、これって普通、どの言語でもこの方法論しかないと思うけど。PCのファイルマネジメントがファイルポインタを指定する限りこうなるのは必至じゃないんですかね。
No.1
- 回答日時:
"a"ではファイルの最後に追記しか出来ません
"r+"で上書きするか"w"で全部書き直してください
挿入などの高度な編集も出来ませんので挿入の場合は自分で工夫しないといけません
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプトで作成日時...
-
Latexで図番号だけを「図1.1」...
-
.NETアプリを作ったときの .man...
-
「ブルーファイル」と「グリー...
-
アクセス 壊れた? 「ファイ...
-
exeファイルの中身を見る方法は...
-
Wordファイルのアイコンの違い
-
DOMのパーズの高速化方法
-
csvファイルについて教えて下さ...
-
VBで「.tif」または「.pdf」...
-
ADODB.Streamで開いたファイル...
-
既にファイルが開いているのな...
-
TIFFファイルを印刷できますか?
-
C言語---ファイルに出力したデ...
-
Simulinkの外部入力について
-
VBSが起動しない
-
VBAでのicsファイル変換
-
C言語でコマンド引数にワイルド...
-
ファイル名を指定しないVBAは?
-
jarファイル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「営業秘密の漏洩」について
-
アクセス 壊れた? 「ファイ...
-
#include <Windows.h>というヘ...
-
.NETアプリを作ったときの .man...
-
Latexで図番号だけを「図1.1」...
-
コマンドプロンプトで作成日時...
-
公文書のxmlファイルの開き方が...
-
jarファイル
-
リンクの張り付けかたを教えて...
-
binファイルを解凍したいの...
-
監視ツールを入れさせられまし...
-
自分で作成した重要ファイルを...
-
「ブルーファイル」と「グリー...
-
C言語---ファイルに出力したデ...
-
Seasar2のdiconファイルの読み方
-
コマンドプロンプトで、指定し...
-
バッチ処理で追記コピーしたい
-
C#でログファイルにファイルパ...
-
ファイルが開かれているかどう...
-
HTAのウィンドウを閉じるには・...
おすすめ情報