昨日は御世話になりました。これで一つ山を乗り越えられたのは間違いないです。
安心しての下山中、麓にたどり着く前に別の山に迷い込んでしまったようです・・・
データの追加ができるようになったのは大きな前進でしたが、そもそもレコードの表示
にendrecord(以下Ec)という文字列を発見すると読み込みを止めてしまいます。しか
も[レコードの表示][レコードの追加]のボタンとは別に[Ecの挿入]といった感じで無理や
りendrecordをレコードの中に入れてしまってます。
つまり一度[Ecの挿入]を押してしまうといくらレコードの追加をしても表示されるのはEc
のレコードまで・・。
その打開策として(これも少々面倒ですが)「Ecのレコードを探して削除するっていうの
はどうだろうか?」と、しかもこれなら[レコードの検索]にも近付けて[レコードの削除]
あわよくば[レコードの編集]までできてしまう?!などと考えていたのですが・・・。
頭の中で検索のイメージを膨らませてみると、
1、キーを設定(若しくは設置)
2、ファイルの中のレコード、ないしはフィールドを走査してキーを発見
3、発見したキーからレコードを見つけてそのまま削除(若しくは編集)
といった感じになりました。
実際Ecのレコードファイルの中を走査してるので応用すればいけるなぁ・・・と思ったの
ですが、これってやっぱり配列とか使わないとレコードやフィールドの走査ってできませ
んか?
今回の質問はこれです。
配列を使わずとも1レコード・1フィールドを指定し操作(削除や編集)できるか否
か・・。
どうか御教授ください。
長文、失礼しました。
こんです
CSVファイルの削除や編集ですが、これはCSVファイル自体を直接編集するのではなく、
いったん読み込んで、編集し、再び書き込む といった方法になると思います。
CSVファイルを直接触れる方法があるならそれは認識していませんのですみませんです
が。。
ですので、一度取得した文字列からキーを検索し、その行(前後の改行コードを取
得?)の削除や編集を行い再度書き込むことで実現はできますが、
配列を使用した方が綺麗でわかりやすいソースになると思いますよ?
簡単にできますし・・
配列をなぜ使用しないかはわかりませんが、使用できるならすることをお勧めします
> 配列を使わずとも1レコード・1フィールドを指定し操作(削除や編集)できるか否
か・・。
できますが難しく、かつ面倒です。
わざわざ配列を避ける理由が知りたい。
# list, vector の類を使えばもっと楽。
返事遅くなりました。すみません。
早速のご回答、有難う御座います。
配列の勉強が必要のようですね。list, vectorの方の理解と共に進めようと思います。
有難う御座いました。m(_~_)m
蛇足ですが、
今プログラミングされているプログラムに限らず、
配列の概念とか、可変長の配列用のクラスの知識とかは
十中八九必要になる部分だと思います。
早めにきちんと理解しておいた方が良いと思いますよ。