一个文件的内容大概是这样的
张三   78    80    99   良好
我定义2个字符串类型的变量(a,e),三个整型变量(b,c,d)想把这些内容读进来,我这样写:
input  #1, a, b, c, d, e
可是读取失败了,一行内容全都被读入到a中,请问我该怎么办呢?

解决方案 »

  1.   

    读到a变量里以后
    dim s() as string
    s=split(a,vbtab)'如果中间是用tab健个开的话
    a=s(0)
    b=s(1)
    c=s(2)
    .
    .
    .
      

  2.   

    同意楼上的,但我觉得split这样写好些:split(a," ")
      

  3.   

    这个方法嘛~~~~~~~
    如果中间是用5个空格隔开,那么split对这5个空格的处理就会变成4个空串,很难把握啊
      

  4.   

    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
      

  5.   

    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
      

  6.   

    Option ExplicitPrivate Sub Command1_Click()
     Dim temp$
     Dim n%, m%, i%
     Dim User(5)
     '&para;&Aacute;&sup3;&ouml;&Euml;ù&Oacute;&ETH;
     Open "c:\user.txt" For Input As #1
       Input #1, temp$
     Close #1
     '·&Ouml;&frac12;&acirc;
     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
     '&Iuml;&Ocirc;&Ecirc;&frac34;
     For i = 1 To 5
      MsgBox User(i)
     Next i
    End Sub
      

  7.   

    Option ExplicitPrivate 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
      

  8.   

    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