仅供参考//将out.txt文件中的内容排序并去重,结果保存到unique.txt中
#include
#include
#defineMAXLNO10000000//能处理的最大行数
#defineMAXLEN20//能处理的最大行宽,包括行尾的\n和字符串尾的\0
charbuf[MAXLNO][MAXLEN];
intln,i;
FILE*f;
intcmpfun(constvoid*arg1,constvoid*arg2){
returnstrcmp((constchar*)arg1,(constchar*)arg2);
}
intmain(){
f=fopen("out.txt","r");
if(NULL==f){
printf("Cannotfindfileout.txt\n");
return1;
}
ln=0;
while(1){
if(NULL==fgets(buf[ln],MAXLEN,f))break;
ln++;
if(ln>=MAXLNO){
printf("Lines>%dignored.",MAXLNO);
break;
}
}
fclose(f);
if(ln>1)qsort(buf,ln,MAXLEN,cmpfun);
f=fopen("unique.txt","w");
if(NULL==f){
printf("Cannotcreatefileunique.txt\n");
return2;
}
fprintf(f,"%s",buf[0]);
if(ln>1)for(i=1;i
|