| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2661 人关注过本帖
标题:用二进制访问形式写入文件时如何清空原文件的内容
只看楼主 加入收藏
燕之峰
Rank: 2
等 级:论坛游民
帖 子:146
专家分:63
注 册:2014-3-21
结帖率:100%
收藏
已结贴  问题点数:5 回复次数:6 
用二进制访问形式写入文件时如何清空原文件的内容
各位网友好,现有下面的程序,用二进制方式向文件中写内容
Dim strtext As String
Dim theFileName As String '文件名
    theFileName = App.Path & "\test.txt"
strtext = "我们伟大的祖国!"
If theFileName = "" Then
        MsgBox "文件不存在!"
        Exit Sub
    End If
    'Binary方式打开文件
    Open theFileName For Binary As #1    '写入文件
    Put #1, , strtext  'fileBuff
    Close #1

运行时发现,原文件的内容不能清空,只有由开始到变量strtext 长度之前的内容被覆盖,后面的内容仍存在。那么如何才能把原文件中的内容清空呢,请指导,谢谢。
另外注释中的fileBuff是何意
搜索更多相关主题的帖子: 二进制 如何 友好 
2014-04-28 17:27
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:2 
fOr 0Utput  

DO IT YOURSELF !
2014-04-28 18:14
lowxiong
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:27
帖 子:652
专家分:3402
注 册:2008-5-7
收藏
得分:2 
kill 原文件
2014-04-28 19:38
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:0 
以下是引用lowxiong在2014-4-28 19:38:39的发言:

kill 原文件

不会吧  C里有一种打开文件的方式   就是没有
则创建  有则清空重写

DO IT YOURSELF !
2014-04-28 20:51
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4940
专家分:30047
注 册:2008-10-15
收藏
得分:2 
顺序文件不需要清空,写有二种方式,
一种是新建,一种是追加。

随机文件和二进制文件,写只有一种模式,覆盖。
所以如果要新建文件,然后再写内容。
就只能 KILL 原文件,然后再新建文件。

或者写临时文件,然后写完后,改名为 目标文件。这种情况下,如果没写完程序非法中止(包括出错,结束线程、断电等意外情况)不会造成原来保存的文件损坏。
这种方法是建议使用

---
我前面发的个 示例代码里,有KILL 的处理啊。楼主肯定没注意看。

授人于鱼,不如授人于渔
早已停用QQ了
2014-04-29 10:42
燕之峰
Rank: 2
等 级:论坛游民
帖 子:146
专家分:63
注 册:2014-3-21
收藏
得分:0 
对TXT文件如如何新建,代码为何
2014-04-29 19:55
vbvcr51
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:18
帖 子:364
专家分:1724
注 册:2013-11-3
收藏
得分:0 
清空文本文件(2句就可以完成)
open "文件名" for output as #1
close #1
即可清空文本文件。
2014-05-05 21:12
快速回复:用二进制访问形式写入文件时如何清空原文件的内容
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015090 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved