• 締切済み

データの更新が認識されない

とあるプログラムで使用するテキストデータを作っていた時に遭遇した疑問です。そのテキストデータが原因でプログラムが動かなかったのですが、具体的にはエンコードを方式が違うとのことでした(内容は問題ありません)。そこでエンコードを正しいものに変換したのですが、動きません。しかしなんらかの変化(文字を入力する、あるいは消す)を加えると動きました。ところがアンドゥや逆の変化(入力した文字を消す、あるいは消した文字を元の場所に再入力する)を加えて先ほどのプログラムが動かなかった時と全く同じ状態に戻すと、また動作しなくなりました。以下のような状態です。 (プログラム)   (テキストデータ)  動かない     エンコードが間違っている  動かない     エンコードを直す(ここで動くはず)  動く         変化を加える  動かない     逆の変化を加えて2番目の状態と同じにする なぜエンコードを直した時に動かないのでしょうか? なぜ変化を加え、元に戻すと動かないのでしょうか? 自分の予想としては、エンコードを直した時に動かなかった前者の理由は分かりませんが、何らかの理由でデータに更新があったことを認識できず、変化を加えたことでやっと認識できたのではないかと思います。元に戻すとまた動かなくなるのは、テキストデータの編集開始時に一時記憶領域のような場所にデータがキャッシュされ、更新後も同じ内容だと新しいデータとして保存するのではなく、キャッシュを用いて「編集自体がなかったことにされている」からではないかと思います。 もし万が一私の予想が当たっていても、後学の為に専門的に補足していただけると助かります。

みんなの回答

  • Kirishima
  • ベストアンサー率32% (155/480)
回答No.1

使用しているテキストエディタは?

taku17
質問者

補足

Terapadです。

関連するQ&A