清除文本文件的内容

时间:2013-04-10 10:43:49

标签: c windows winapi text-files

我正在开发服务器/客户端应用程序。我想在名为“Information.txt”的文本文件中维护所有活动客户端的信息。 我每3个seonds后更新这个文本文件。所以,我希望文本文件在每3秒后清除所有内容而不删除文件。 有什么办法吗? :( 我不想使用freopen()。

3 个答案:

答案 0 :(得分:3)

定期清除文件的一个问题是,如果您的进程在文件被清除之后但在写入之前崩溃,则会丢失数据:旧数据已消失,但新数据尚未存在。

解决此问题的常见方法是创建一个新文件,编写它,然后移动新文件以替换旧文件。这样你总有一个文件,有时候(很短的时间内)你有两个文件。

答案 1 :(得分:1)

尝试

  

fopen(filename,flag)

使用flag =" w"打开文件或" wb"它将被清除

答案 2 :(得分:1)

只需使用fopen打开文件并将标记设置为 w w + wb

来自fopen man page

  

<强>瓦特

     

将文件截断为零长度或创建用于写入的文本文件。该   stream位于文件的开头。

     

<强> W +

     

开放阅读和写作。如果没有,则创建该文件   存在,否则被截断。流位于   文件的开头。