c++ - 如何使用 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
解决方案
如何使用 FILE* 清除文件?
我需要清除文件中的所有数据以重写它以保存新记录。
只需使用"w"
(或"wb"
)模式打开。如果文件存在,则从cppreferencew
模式破坏文件内容。如果该文件不存在,它将创建一个新文件。
推荐阅读
- sql - 排名最接近的日期,但如果日期已在前一行中使用,则不排名
- typescript - 附加到 Typescript 接口属性
- c# - Windows 窗体按钮参数
- python - 在 Keras 中构建 CNN + LSTM 以解决回归问题。什么是合适的形状?
- c# - Linq 查询未返回预期结果。3张表连接
- java - @ExceptionHandler 用于杰克逊的 InvalidFormatException
- ios - IAB.close() 调用但它已经关闭
- python - 尝试导入包时出现python ModuleNotFoundError
- python - Python分而治之的递归搜索
- r - 将 OS National Grid 名称/代码添加到 R 中的网格