如果我用Binary方式写一个已存在的文件,若写入的总数据量比原文件的数据量少,则最后的文件还是那么大,后面我不想要的部分还会保留。那么怎么样才能方便地截掉最后那一部分呢?

解决方案 »

  1.   

    Dim fN As Integer
        fN = FreeFile
        Open pFile For Output As #fN
            Put #fN, , inText
        Close #fN
      

  2.   

    '调用方法:WriteFile(文件的路径和文件名,写入的数据)
    Public Function WriteFile(ByVal pFile As String, ByVal inText As String) As Boolean
        On Error Resume Next
        Dim fN As Integer
        fN = FreeFile
        Open pFile For Output As #fN
            Put #fN, , inText
        Close #fN
        WriteFile = (Err.Number = 0)
    End Function
      

  3.   

    当然,不过我就是想有没有简便的方法,不必先判断是否已存在这个文件,若存在还得写新的再删除原来的;就直接能产生覆盖的文件。
    楼上的说的都是Output模式的,用Binary方式好象不行吧?
    那个iteFile是个现成的方法吗?
      

  4.   

    Option ExplicitPublic Function WriteFile(ByVal pFile As String, ByVal inText As String) As Boolean
        On Error Resume Next
        Dim fN As Integer
        fN = FreeFile
        Open pFile For Output As #fN
        Close #fN
        Open pFile For Binary As #fN
            Put #fN, , inText
        Close #fN
        WriteFile = (Err.Number = 0)
    End Function
      

  5.   

    使用临时数据保存原文件的数据 然后删除原文件 然后创建一个新的文件 
    适合小文件 大文件是用API
      

  6.   

    第一个OPEN是看有没有这个文件,有就清空,没有就创建。
    第二个OPEN是写入数据的。
      

  7.   

    我糊涂了,不好意思
    不过Binary可以这样用吗?
      

  8.   

    我糊涂了,不好意思
    不过Binary可以这样用吗?
    ----------------
    我这机子上有VB IDE,试了能用!
      

  9.   


    用EOF函数控制循环写入“”后,再次写入要写内容