• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:lineinput について)

lineinputについての疑問

このQ&Aのポイント
  • プログラムでLineInput関数を使って1行ずつ読み取る際、読み取る順序が正確かどうか疑問です。
  • プログラムが永遠に1行目を読み取るか、ランダムになるのではないかと不安です。
  • LineInput関数が順序を保つ仕組みや、ランダムになることがない理由について教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • dsuekichi
  • ベストアンサー率64% (171/265)
回答No.2

>読み取る行がランダムになってしまうような気がするのですが どういう理由で「ランダム」だと思われるのでしょう? ファイル番号ごとに、内部処理用に「Seekポイント」と言うデータを保持しています。 「Seek 関数 」 (http://msdn2.microsoft.com/ja-jp/library/7af2feyt(VS.80).aspx) 例えば、 1行目が10文字(+復改行2文字)、 2行目が5文字(+復改行2文字) 3行目が20文字(+復改行2文字) だと、 「FileOpen」直後はSeekポイント「1」に初期化され、 最初の「LineInput」で、1文字目から復改行まで10文字(+2文字)読み込み、 Seekポイントを+12して13に変更。 2回目の「LineInput」で、13文字目から復改行まで5文字(+2文字)読み込み、 Seekポイントを+7して20に変更。 3回目の「LineInput」で、20文字目から復改行まで20文字(+2文字)読み込み、 Seekポイントを+22して42に変更。 ・・・と続きます。

ko--kun
質問者

お礼

返答ありがとうございます。 seek関数というものがあるとは知りませんでした。 今勉強している本が入門編だからか、全く触れていません(T T)。

その他の回答 (1)

  • suzukikun
  • ベストアンサー率28% (372/1325)
回答No.1

LineInputがそういう仕様だからとしか言いようがないのですが。

参考URL:
http://msdn2.microsoft.com/ja-jp/library/8e33ddk1(VS.80).aspx
ko--kun
質問者

お礼

ありがとうございます。