c语言删除文件中的指定内容代码
时间: 2023-08-31 07:05:50 浏览: 282
194 删除指定的字符 C语言源代码文件
以下是使用 C 语言实现删除文件中指定内容的示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
FILE *fp1, *fp2;
char filename[100], temp[] = "temp.txt", str[100], remove_str[100];
printf("Enter the file name: ");
scanf("%s", filename);
printf("Enter the string to be removed: ");
scanf("%s", remove_str);
fp1 = fopen(filename, "r");
fp2 = fopen(temp, "w");
if (fp1 == NULL || fp2 == NULL) {
printf("Error opening file.\n");
exit(1);
}
while (fgets(str, 100, fp1) != NULL) {
if (strstr(str, remove_str) == NULL) {
fputs(str, fp2);
}
}
fclose(fp1);
fclose(fp2);
remove(filename);
rename(temp, filename);
printf("Successfully removed '%s' from file '%s'.\n", remove_str, filename);
return 0;
}
```
该程序首先要求用户输入文件名和要删除的字符串,然后打开源文件和一个临时文件。然后,它遍历源文件中的每一行,如果该行不包含要删除的字符串,则将该行写入临时文件中。在遍历完成后,它关闭源文件和临时文件,并删除原始文件并将临时文件重命名为原始文件名。
请注意,这只是一个简单的示例代码,并且不适用于大型文件。对于大型文件,您可能需要使用其他方法,例如内存映射或分块读取。
阅读全文