我编写了一个程序来从文件中删除某个单词(作为用户输入)。我读了这个词,打开了我想删除这个词的文件,读取文件中的每一行并将其拆分为单词,然后将每个单词与我的关键字进行比较。如果它们不匹配,我将它们打印到一个临时文件中。
但是当我打开临时文件时,整个文本都被复制了。有人可以帮我吗????
#include<stdio.h>
#include<fcntl.h>
#include<string.h>
main()
{
int i;
FILE *fp1,*fp2;
char key[1000],a[1000],temp[1000];
printf("\nEnter the word to be deleted from file : ");
scanf("%s",key);
fp1 = fopen("a.txt","r");
fp2 = fopen("b.txt","w");
while(fgets(a,1000,fp1))
{
for(i=0;a[i]!='\0';++i)
if(a[i]==' ')
break;
else
temp[i]=a[i];
temp[i]='\0';
if(strcmp(temp,key)!=0)
{
fputs(temp,fp2);
}
bzero(a,1000);
}
fclose(fp1);
fclose(fp2);
printf("\n\n");
/*remove("a.txt");
rename("b.txt","a.txt");*/
}