タイトル : Re^3: DO・・・LoopでCSVファイルを読み込む時にEOFを飛び越える? 投稿日 : 2008/08/27(Wed) 15:03 投稿者 : るしぇ
>エラーで停止した時の「n(レコードNo用の変数)」の値が5になっているので >メッセージの通りEOFを飛び越えているのかと思っております 肝心の n を設定しているコードが書かれていません。 ただし、 >(当HPの「CSVファイルを読み込み構造体の配列に保存する」を参考に作成しています とのことですので、 http://hanatyan.sakura.ne.jp/dotnet/fileio03.htm#no1 この通りコードを書いてるとして、データが5レコード(5行) あった場合、n が5になるのは正常な処理です。 ループでEOFを飛び越えているのではありません。 予想を立てるのは大事ですが、必ず確認してください。 1行1行ステップ実行して確認してみてください。 原因は質問文に書かれていないコードにあると思います。 Input の数とデータの数が合っていないか、改行コード みたいにメモ帳で見ると見えない行があるかあたりを 調べてみてください。 改行コードは改行コードを表示できるエディタなんかが いいと思うけど、 Dim csvname As String = "c:\test\test.csv" Dim strTextData As String Dim sr As New System.IO.StreamReader(csvname, System.Text.Encoding.Default) strTextData = sr.ReadToEnd strTextData = strTextData.Replace(System.Environment.NewLine, "[改行コード]" & System.Environment.NewLine) Debug.WriteLine(strTextData) sr.Close() みたいなのでも確認できますよね。 |