问一个VB中读取文件内容的问题

andycpp 2005-05-23 01:23:03
一个文件的内容大概是这样的
张三 78 80 99 良好
我定义2个字符串类型的变量(a,e),三个整型变量(b,c,d)想把这些内容读进来,我这样写:
input #1, a, b, c, d, e
可是读取失败了,一行内容全都被读入到a中,请问我该怎么办呢?
...全文
124 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
学习Java中 2005-05-23
  • 打赏
  • 举报
回复
uo
51365133 2005-05-23
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim temp$
Dim n%, m%, i%
Dim User(5)
Open "c:\user.txt" For Input As #1
Input #1, temp$
Close #1
temp = RTrim(temp)
For i = 1 To 5
m = InStr(temp, " ")
n = Len(temp)
If m = 0 Then m = n
User(i) = Left(temp, m)
temp$ = LTrim(Right(temp, n - m))
Next i
For i = 1 To 5
MsgBox User(i)
Next i
End Sub
51365133 2005-05-23
  • 打赏
  • 举报
回复
Option Explicit

Private Sub Command1_Click()
Dim temp$
Dim n%, m%, i%
Dim User(5)
'读出所有
Open "c:\user.txt" For Input As #1
Input #1, temp$
Close #1
'分解
For i = 1 To 5
m = InStr(temp, " ")
n = Len(temp)
If m <> 0 Then
User(i) = Left(temp, m)
Else
User(i) = Left(temp, n)
End If
temp$ = Right(temp, n - m)
temp = LTrim(temp)
temp = RTrim(temp)
Next i
'显示
For i = 1 To 5
MsgBox User(i)
Next i
End Sub
51365133 2005-05-23
  • 打赏
  • 举报
回复
Option Explicit

Private Sub Command1_Click()
Dim temp$
Dim n%, m%, i%
Dim User(5)
'¶Á³öËùÓÐ
Open "c:\user.txt" For Input As #1
Input #1, temp$
Close #1
'·Ö½â
For i = 1 To 5
m = InStr(temp, " ")
n = Len(temp)
If m <> 0 Then
User(i) = Left(temp, m)
Else
User(i) = Left(temp, n)
End If
temp$ = Right(temp, n - m)
temp = LTrim(temp)
temp = RTrim(temp)
Next i
'ÏÔʾ
For i = 1 To 5
MsgBox User(i)
Next i
End Sub
liuguozhong 2005-05-23
  • 打赏
  • 举报
回复
Dim f1%, s$, ss() As String, i%, k%, m%
Dim a$, e$, b%, c%, d%

f1 = FreeFile
Open "d:\1.txt" For Input As f1
Line Input #f1, s
Close #f1
ss = Split(s, " ")
k = UBound(ss): m = 0
For i = 0 To k
If ss(i) <> "" Then
m = m + 1
If m = 1 Then
a = ss(i)
ElseIf m = 2 Then
b = Val(ss(i))
ElseIf m = 3 Then
c = Val(ss(i))
ElseIf m = 4 Then
d = Val(ss(i))
ElseIf m = 5 Then
e = ss(i)
End If
End If
Next i
思考 2005-05-23
  • 打赏
  • 举报
回复
Dim f1%, s$, ss() As String, i%, k%, m%
Dim a$, e$, b%, c%, d%

f1 = FreeFile
Open "d:\1.txt" For Input As f1
Line Input #f1, s
Close #f1
ss = Split(s, " ")
k = UBound(ss): m = 0
For i = 0 To k
If ss(i) <> "" Then
m = m + 1
If m = 1 Then
a = ss(i)
ElseIf m = 2 Then
b = Val(ss(i))
ElseIf m = 3 Then
c = Val(ss(i))
ElseIf m = 4 Then
d = Val(ss(i))
ElseIf m = 5 Then
e = ss(i)
End If
End If
Next i
andycpp 2005-05-23
  • 打赏
  • 举报
回复
这个方法嘛~~~~~~~
如果中间是用5个空格隔开,那么split对这5个空格的处理就会变成4个空串,很难把握啊
hb3000 2005-05-23
  • 打赏
  • 举报
回复
同意楼上的,但我觉得split这样写好些:split(a," ")
yangjiaxin_1 2005-05-23
  • 打赏
  • 举报
回复
读到a变量里以后
dim s() as string
s=split(a,vbtab)'如果中间是用tab健个开的话
a=s(0)
b=s(1)
c=s(2)
.
.
.

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧