c语言删除文件中的某一行内容
时间: 2023-09-10 11:11:39 浏览: 1231
在C语言中,删除文件中的某一行内容可以通过以下步骤实现:
1. 打开文件,使用fopen函数打开文件,并以读写模式打开。
2. 读取文件内容,使用fgets函数逐行读取文件内容,并将每一行存储在缓冲区中。
3. 删除指定行,使用strcmp函数比较每一行与需要删除的行,如果匹配,则跳过该行。
4. 保存修改后的文件,使用fwrite函数将修改后的内容写入文件中。
以下是一个示例代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
FILE *fp1, *fp2;
char filename[100], c[1000];
char del_line[100];
int del, temp = 1;
printf("Enter the filename: ");
scanf("%s", filename);
fp1 = fopen(filename, "r");
if (fp1 == NULL)
{
printf("File not found!\n");
exit(1);
}
fp2 = fopen("temp.txt", "w");
printf("Enter the line you want to delete: ");
scanf("%s", del_line);
while (fgets(c, 1000, fp1))
{
del = strcmp(c, del_line);
if (del != 0)
{
fprintf(fp2, "%s", c);
}
else
{
printf("Line deleted.\n");
temp = 0;
}
}
if (temp == 1)
{
printf("Line not found.\n");
}
fclose(fp1);
fclose(fp2);
remove(filename);
rename("temp.txt", filename);
return 0;
}
```
在上面的代码中,我们首先使用fopen函数打开文件,然后使用fgets函数逐行读取文件内容,并使用strcmp函数比较每一行与需要删除的行,如果匹配,则跳过该行。最后使用fwrite函数将修改后的内容写入文件中,并删除临时文件。
阅读全文