• 締切済み

VBでEOF(0x1a)の検出方法

VBでCSVファイルを取得したいのですが、EOFの検査をしなければなりません。 ファイルの最後にEOFの制御コードとして、0x1aがはいっているかどうかどのように 調べればわかるでしょうか? やはり バイナリで検査するのが適当でしょうか? サンプルなどありましたら、ありがたいのですが・・・。 初心者です。よろしくお願い致します。

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

VBとはVB.NET系統かVB6系統か?明記して質問のこと VB6・VBAなら EOF(ファイル番号)で判定できる。 If Eof(1) then や do until eof(1) NET  系統では http://homepage1.nifty.com/rucio/main/dotnet/shokyu/standard30.htm http://bbs.wankuma.com/index.cgi?mode=al2&namber=2655&KLOG=3 While Not EOF(1) http://social.msdn.microsoft.com/Forums/ja-JP/vbexpressja/thread/ae937cf7-0ab3-4619-91da-1d50e05b7ae4/ Do Until input.EndOfStream Googleでも「VB.NET シーケンシャルファイル 終わり判定」などで照会する。 参考 ://www.atmarkit.co.jp/fdotnet/vb6tonet/vb6tonet08/vb6tonet08_01.html

converser
質問者

お礼

imogasiさん、早速のご回答有り難うございます。 また、質問の作法もお教え頂き、助かりました!調べてみると、VB6の ほうでした。 で、EOF関数について調べてみました。 eof(ファイル番号) は読み込みファイルの最後かどうかを返す関数です。最後のとき,真を返します。従ってこれが真でないとき,読み込むことが出来ます。 なるほどよくわかりました。  確かにファイルの終端まできたと判明しますが、制御コードに0x1aではなく 0x0d や 0x0aが入っていれば、trueにならないのでしょうか? でも、、、、、考えてみれば、読み込めないのなら、別に0x1aが有る必要ない かも、、、とも、思い直しました。 有り難うございます。