テキストファイルの最初の行に文字列を追加→削除するには?

解決


どら  2005-01-01 20:16:16  No: 55870

新年早々申し訳ないす・・・
昨年お世話になった皆さん、今年も色々と教えてください(もちろん、他の方も、色々ご教授お願いいたします)。

さて、早速質問初めで・・・

テキストファイルの最初の1行を追加し、その後様々な処理を舌後に、追加した行を削除したいんです。

実はこれ、あるツールのiniファイルのなのですが、[Section]の書式がなく、各キーとその値を抽出・編集ができないんです。
なので、頭に仮の[Section]を作成し、GetPrivateProfileStringなどでiniファイルを中身を編集した後、[Section]を削除して元の状態にしたいんです。

何かよい方法をご存じの方いらっしゃいませんか?
素人の私は・・・テンポラリiniファイルを作成し、
    1.1行目に[Section]を書き込み
    2.2行目以降に編集したいiniファイルの中身を書き込み
    3.このテンポラリファイルをGetPrivateProfileString等で編集
    4.編集した3のファイルの中身の2行目以降を元のファイルに上書き
・・・という方法しか思い浮かばなくて・・・
何かいい方法ありませんか?

よろしくお願いいたします。


Ban  2005-01-01 21:01:49  No: 55871

ini ファイルはただのテキストなので、
fstream あたりで開いて、getline -> string::find_first_of 等で
パースして map<string, string> にでも入れてあげれば、
様々な処理も十分やりやすいと思うのですが、そうまでして
GetPrivateProfileString にこだわる意味が何かあるのでしょうか?


どら  2005-01-01 23:22:32  No: 55872

> そうまでしてGetPrivateProfileString にこだわる意味が何かあるのでしょうか?
特に意味はありません。
その方が楽で確実かな〜って思っただけです。

fstreamとかもあまり使った経験がないのもありますけどね(^^;
iniファイルがテキストファイルなのももちろん知っています。
テキストとして読み込んでガリガリやるのと、どっちが楽で確実かな〜と・・・。
あまり関数も知らないので、使ったことのある関数を組み合わせてできる物はやってしまうのが多いんす(^^;

ただ、もっとシンプルで確実な関数などがあれば、今後のためにも覚えておきたかったので・・・。

Banさん、ありがとうございます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加