1

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

4

3 回答 3

3

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

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

于 2013-04-10T10:51:17.083 回答
1

尝试

fopen(文件名,标志)

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

于 2013-04-10T10:45:51.893 回答
1

只需打开文件fopen并将标志设置为ww+wb

fopen 手册页

w

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

w+

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

于 2013-04-10T10:56:57.577 回答