首页 > 解决方案 > 如何使用 FILE* 清除文件

问题描述

我正在开发一个学习项目。它包括客户的注册、授权和保存记录。在我的项目中,使用 fstream 从文件中读取信息不起作用,因此我使用 FILE* 方法。我需要清除文件中的所有数据以重写它以保存新记录。

有一个问题。如何清除它?我发现了很多如何做到这一点的例子,但它们都是用于使用 fstream 的。使用 FILE* 是真的吗?

这是一些代码:

FILE* Usrs = fopen("Users.dat", "rb");
        StructForReg Array[100];
        StructForReg Perenos;
        int i = 0;
        while (!!(feof(Usrs) == 0))
        {
            fread(&Perenos, sizeof(StructForReg), 15, Usrs);
            Array[i] = Perenos;
            i += 1;
        }
        fclose(Usrs);
//here must be a code with clearing and rewriting

标签: c++

解决方案


如何使用 FILE* 清除文件?

我需要清除文件中的所有数据以重写它以保存新记录。

只需使用"w"(或"wb")模式打开。如果文件存在,则从cppreferencew模式破坏文件内容。如果该文件不存在,它将创建一个新文件。


推荐阅读