C语言—删除文件中的指定内容
学生信息管理系统临近尾声,在管理员端口可以对教师的信息进行管理,今天突然想起来只能添加教师信息但不能删除教师信息,对于学生信息的删除,一直都是先将文件内的数据读入链表中,在链表中删除节点,再重新写进文件里。但因为教师信息比较少,并且只有用户名和密码,所以我并没有用链表来存放教师的信息,所以要删除教师信息只能直接使用文件的操作,以上是背景
- 先介绍一下这个删除操作的中心思想:创建一个临时文件,用数组录入你要删除的教师的信息,,然后在原文件中查找,遇到与要删除内容不同的数据,将这些数据写入临时文件中,当遇到要删除的内容时,利用文件的随机读写跳过这些数据,继续将后面的数据录入到临时文件中,最后删除原文件,并将临时文件的名字改为原文件的名字,这样就实现了对指定内容的删除。
用到的函数:
- 文件的打开与关闭fopen(),fclose();
- 文件的模块读写:fread(),fwrite();
- strcmp() 比较两字符串,判断是否相同;
- 文件的随机读写操作:rewind()和fseek(),功能分别是将文件指针指向文件开头和移动文件指针到