我想问的是如何修改上述代码使得运行后文件不被删除
时间: 2024-02-17 17:02:12 浏览: 62
文件无法删除怎么办?
为了避免文件被删除,你可以将代码中的删除文件的操作注释掉,只保留重命名临时文件的操作。修改后的代码如下:
```c
void cancle_password_teacher() {
char filename[] = "教师账号密码.txt";
char tempname[] = "temp.txt";
FILE *fp, *temp;
char line[100];
fp = fopen(filename, "r");
temp = fopen(tempname, "w");
char id[6];
printf("请输入删除教师工号:");
scanf("%s",&id);
while (fgets(line, sizeof(line), fp)) {
// 如果不包含匹配字符串,则写入临时文件
if (!strstr(line, id)) {
fputs(line, temp);
}
}
fclose(fp);
fclose(temp);
// remove(filename); // 注释掉删除文件的操作
rename(tempname, filename);
printf("工号为%s的教师信息删除成功,请按任意键返回\n",id);
system("pause");
}
```
这样修改后,运行该函数后,原文件不会被删除,只会在原文件所在的目录下生成一个名为 "temp.txt" 的临时文件。
阅读全文