最笨的方法,但适合初学者。读一句然后和后面的比较,不同的写入另一文件。
创新互联公司2013年成立,是专业互联网技术服务公司,拥有项目成都做网站、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元武乡做网站,已为上家服务,为武乡各地企业和个人服务,联系电话:13518219792
#include stdio.h
#include string.h
main(){
char str[81];
char s1[81],flag;
FILE *fp1,*fp2;
unsigned long seek;
fp1=fopen("in.txt","r");
fp2=fopen("out.txt","w");
seek=0;
while(1){
fseek(fp1,seek,SEEK_SET);
fgets(str,80,fp1);
if(feof(fp1)){
break;
}
seek+=strlen(str);
while(1){
fgets(s1,80,fp1);
if(feof(fp1)){
break;
}
if(strcmp(str,s1)==0)
continue;
else
fputs(s1,fp2);
}
}
fclose(fp1);
fclose(fp2);
}
思路就是,一行行读文件,放入到内存字符串数组缓冲,再读下一行,和字符串数组里进行比较,相同舍弃,不同保存到字符串数组。全部行处理完毕,把字符串数组写回文件即可。
#includestdio.h
#define M 1024
void main() { int i,j,n,nn,a[M],b;
scanf("%d",n); if ( nM ) n=M;
for ( i=0;in;i++ ) scanf("%d",a[i]);
for ( i=nn=1;in;i++ ) {
for ( j=b=0;jnn;j++ ) if ( a[i]==a[j] ) { b=1;break; }
if ( b==0 ) { a[nn]=a[i]; nn++; }
}
for ( i=0;inn;i++ ) printf("%d ",a[i]); printf("\n");
}