在一文本文件中有几十万条如下形式的数据:1 10 11 12 13 14
1 10 11 12 13 15
1 10 11 12 13 16
1 10 11 12 13 17
1 10 11 12 13 18
1 10 11 12 13 19
1 10 11 12 13 20
1 10 11 12 13 21
1 10 11 12 13 22现要在每条数据的最后加入“ + X”变成:1 10 11 12 13 14 + X
1 10 11 12 13 15 + X
1 10 11 12 13 16 + X
1 10 11 12 13 17 + X
1 10 11 12 13 18 + X
1 10 11 12 13 19 + X
1 10 11 12 13 20 + X
1 10 11 12 13 21 + X
1 10 11 12 13 22 + X求一能快速处理的代码?谢谢!

解决方案 »

  1.   

    快速处理的代码也要一行一行处理地~~~Private Sub Command1_Click()
    Dim linestr As String
    Open "d:\1.txt" For Input As #1  ' 打开文件
    Open "d:\tmp1.txt" For Output As #2  ' 打开文件
       Do While Not EOF(1) ' 循环至文件尾。
          Line Input #1, linestr  ' 读数据并将其赋予某变量。
          linestr = linestr & " + X" '加入新数据
          Print #2, linestr
       Loop
    Close #2 ' 关闭文件
    Close #1 ' 关闭文件
    Kill "d:\1.txt" ' 删除文件
    FileCopy "d:\tmp1.txt", "d:\1.txt" '替换
    Kill "d:\tmp1.txt" ' 删除文件
    End Sub
      

  2.   

    一次性读到变量比逐行读入应该快一些(但要注意字符总数,字符串最多可包含大约20亿(2^31)个字符)Dim str1 As String
    Open "E:\akira\q.txt" For Input As 1
    str1 = StrConv(InputB$(LOF(1), 1), vbUnicode)
    Close 1
    str1 = Replace(str1, vbCrLf, " + X" & vbCrLf) '在每个回车换行符前加" + X"
    str1 = str1 & " + X" & vbCrLf '最后一行如果没有回车换行符,直接在最后加" + X"Open "E:\akira\q.txt" For Output As 1
    Print #1, str1
    Close 1