c - 如何清除文件的内容

标签 c unix

我想知道如何在 C 中清除文件的内容。我知道可以使用 truncate 来完成,但我找不到任何来源清楚地描述如何。

最佳答案

其他答案解释了如何正确使用 truncate...但是如果您发现自己在没有 unistd.h 的非 POSIX 系统上,那么最简单的做法是打开文件进行写入并立即关闭它:

#include <stdio.h>

int main()
{
    FILE *file = fopen("asdf.txt", "w");
    if (!file)
    {
        perror("Could not open file");
    }

    fclose(file);
    return 0;
}

"w"(写模式)打开文件会“清空”文件,这样你就可以开始覆盖它了;立即关闭它然后生成一个 0 长度的文件。

关于c - 如何清除文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3137284/

相关文章:

unix - 如何在一个脚本/批处理文件中更改多个 UNIX 密码?

java - JMenuItem 没有被键盘回车键激活

c - 当内核重新启动时,延迟套接字会发生什么?

c - 以编程方式递归地创建目录

c - 指针运算的工作

linux - 收到 'ambiguous redirect' 错误

c - 在执行之间保存信息?

c - 如何检查文件是否已经有数据(C语言)?

linux - 捕获用户输入以运行脚本

c - 在c中将可变参数传递给子进程UNIX