有个文件,用记事本打开,可以看到大致内容,文件前面有几行乱码,我
用以下方式读取,把前面几行乱码删除后读取正常,但是前面有乱码(或只能看到
空格),只读取一行,就跳出循环,下面的都不读了,好象已到文件尾一样,该怎样读Open FileName For Input As #1      ' 打开文件
Do While Not EOF(1)
   Line Input #1, x
   ....处理每一行
Loop

解决方案 »

  1.   

    我的做法就是如果有乱码,就要用bin方式打开
      

  2.   

    如果知道该文件内容的格式,使用Binary方式打开文件,用定义好的格式进行Get #1,1,x。如果不知道格式,使用一些相应的十六进制文件编辑器(如WinHex)进行分析即可。
      

  3.   

    用二进制文件打开,先确定是什么类型文件
    dim a() as byte
    redim a(filelen(filename))
     
    open filename for binary as #1
        get #1,,a
    close 
    msgbox a
      

  4.   

    re:另外:怎样给一行加回车换行符?
    没搞懂什么意思
    +vbcrlf不行么?
      

  5.   

    我以前也碰到过这种情况.我当时试了很久,都没有办法一行一行的处理.现将我当时的方法写出供你参考.我用的是INPUT()函数.
    dim str1 as string
    dim str2 as string
    Dim filenumber As Integer
    filenumber = FreeFile
    Open dirfile For Binary As #filenumber
    Do While Not EOF(filenumber)
    str1 = Input(1, filenumber)    '每次取一个字符
    str2 = str2 + str1             '将一个个字符连起来
      

  6.   

    不知你的文件中的字符有多少?很多的话要在DO WHILE ....LOOP后加上doevents.
      

  7.   

    我一般用下面的方法:
    Open FileName For Binary As #1
      Text1.Text = Input(LOF(1), 1)
    Close #1
      

  8.   

    要用二进制方式读取,除非你确定它是纯文本文件。我不知道你为何一定分行读取,有什么特别的需要么?如果要分行,添加 chr(10)和chr(13)即可。