電子書籍の厳選無料作品が豊富!

配列のファイルがあり、それをよみこんで、1つの要素だけ上書きして保存する方法を教えてください。
ex.
file.datを以下のようなファイルだとして・・・
あいうえを
かきくけこ
さしすせそ
たちつてと

file.datが、
さしすせそ

となるようにしたいのです。(つまり、三番目の要素を取り出し、上書き保存するというもの)


以下のように書いてみましたがうまく動きません。
open()やclose()は一回使うだけでいいように、読み書き両用で開いてみました。 $_にはファイル名が入っています。


open(FILE,"+<$_");
@temp=<FILE>;
$temp2=$temp[2];
print FILE $temp2;
close(LOGFILE);

+<を+>とすると、ファイルが空(何も無くなる)となります。
まず読み専用で開いて、ファイルを閉じた後。上書き用で開いたほうがいいのでしょうか??

A 回答 (1件)

>まず読み専用で開いて、ファイルを閉じた後。

上書き用で開いたほうがいいのでしょうか??
このケースの場合そうした方が楽です。

読み書き両用オープンは、バイナリエディットなどで位置を指定して特定の部位だけを書き換えるような時に使います。ファイルサイズが変わる用途には向いてません。
    • good
    • 0
この回答へのお礼

そうなんですか。
分かりました。
ありがとうございます。やってみます。

お礼日時:2004/02/24 02:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!