如题

解决方案 »

  1.   

    先打开文件,再移动指针open "a.txt" for binary as #1
    Seek #1, LOF(1) + 1
    Put #1, , x   'x为要写入的byte()
    Close #1
      

  2.   

    我的程序,为什么追加的时候总是少第一行呢?
    源码如下:
    Const ARR_NUM As Integer = 2048
      Dim arr() As Byte
      ReDim arr(0 To ARR_NUM - 1) As Byte
      Dim a As Byte
      Dim arr1() As Byte
      Dim filelen, i, k As Integer
      Dim readfilenum As Integer
      k = 1
      filelen = Len(RichTextBox1.Text)
      readfilenum = FreeFile()
      Open App.Path + "\log.dat" For Binary As readfilenum
      Seek #readfilenum, LOF(readfilenum) + 2
      
      'If filelen > ARR_NUM * k Then
      '  For i = 0 To ARR_NUM
      '    arr(i) = AscB(Mid(RichTextBox1.Text, i + 1, 1))
      '  Next
      'Else
      '  For i = 0 To (filelen - ARR_NUM * (k - 1))
      '    arr(i) = AscB(Mid(RichTextBox1.Text, i + 1, 1))
      '  Next
      'Put #readfilenum, , arr
      'End If
      'arr1 = StrConv(RichTextBox1.Text, vbFromUnicode)
      i = 0
      For k = 1 To filelen
      
        arr(i) = CByte(Asc(Mid(RichTextBox1.Text, k, 1)))
        'arr(i) = arr1(k)
        If i >= ARR_NUM - 1 Then
          Put #readfilenum, , arr
          'Debug.Print arr
          i = 0
          ReDim arr(0 To ARR_NUM - 1) As Byte
        Else
          i = i + 1
        End If
      Next
      Put #readfilenum, , arr
      Close #readfilenum
      MsgBox "文件保存成功!"