读取文件内容存入动态2维数组假设我有一个1.txt文件,文件中的内容是:123,123,123,123123,123,123,123::文
读取文件内容存入动态2维数组
假设我有一个1.txt文件,文件中的内容是:
123,123,123,123
123,123,123,123
:
:
文件行数没有限制
程序要求 从1.txt中读取全部数据,并且存储在2维数组中,希望高人帮写个程序
[解决办法]
- VB code
Private Sub Command1_Click()Dim Arr()Dim i, j As Integer Open vfile For Input As #1 b = ""Do Until EOF(1) Line Input #1, nextlineb = b & nextline & "|" Loop Close #1a = Split(b, "|")k = UBound(a) - 1For i = 0 To ka1 = Split(a(i), ",")k1 = UBound(a1)For j = 0 To k1ReDim Preserve Arr(k, j)Arr(i, j) = a1(j)Print Arr(i, j)NextNext End SubPrivate Sub Form_Load()Form1.Show Command1.Caption = "读取数据"End Sub
[解决办法]
最前面的一句拷掉了
Const vfile = "C:\123.txt"
[解决办法]
如果是半角逗号分割(CSV 格式),处理更方便
- VB code
Option ExplicitSub Main() Dim hFile As Integer Dim iLine As Long Dim a() As Long '由于动态数组只能更改最后一维的大小,所以下标是 (列号,行号) hFile = FreeFile() Open "C:\temp\1.txt" For Input Access Read As #hFile While Not EOF(hFile) If (iLine Mod 16) = 0 Then ReDim Preserve a(3, iLine + 15) End If Input #hFile, a(0, iLine), a(1, iLine), a(2, iLine), a(3, iLine) iLine = iLine + 1 Wend Close #hFile ReDim Preserve a(3, iLine - 1)End Sub
