如何打开二进制文件将第10-20个字节的内容替换后保存。请附详细代码。

解决方案 »

  1.   

    Private Sub Command1_Click()
    Dim b() As ByteOpen FileName For Binary As #1ReDim b(LOF(1) - 1)Get #1, , b()'替换数组b(10) - b(20)
    'Put #1, , b()Close #1
    End Sub
      

  2.   

    使用seek 语句 把文件读指针 放到 10 ,然后 put 或 print 10 个字符 就可以了,系统自动会替换以前的字符
      

  3.   

    纠正一下
    Private Sub Command1_Click()
        Dim b() As Byte
        
        Open "filename" For Binary Access Read Write As #1
        
        ReDim b(LOF(1) - 1)
        
        Get #1, , b()
        
        '替换数组b(10) - b(20)
        '
        b(0) = 34
        b(1) = 56
        
        Seek #1, 1  ' 加入这个, 移动指针到文件开始处
        
        Put #1, , b()
        
        Close #1
    End Sub
      

  4.   

    文件是有些大,能不能直接读出二进制文件将第10-20个字节,直接替换。
    baoaya(点头)讲的是不是就是这个方法?有无代码?TO:songyaowu(韧恒) 
    您讲的下面代码不明白,请解释下好吗?
    '替换数组b(10) - b(20)
        b(0) = 34
        b(1) = 56
      

  5.   

    其实点头的方法挺好的,其实这个问题我认为主要在于文件的打开方式。整理一下:Private Sub Command1_Click()
        dim b() as byte        ' 按你的要求分配11个字节空间
        redim b(10)    ' 将修改后的值写入数组
        ' 代码略...        ' 以二进制的方式, 用可读且可写的访问模式打开文件
        Open "filename" For Binary Access Read Write As #1
            
        Seek #1, 10  ' 将指针移动到文件要修改的位置
        
        Put #1, ,b() ' 写入新值
        ' 上面这个put语句也可以改为直接写要修改的数据
        ' 要是这样, 就不必定义字节数组b()
        
        Close #1
    End Sub