我需要比较两个文本文件中的字符串。在使用(对于任一文件)分隔字符串strtok()
时,我在引用两个文件中的句子时遇到问题,使用strtok()
,因为它们正在发生冲突。
#include <stdio.h>
#include <string.h>
#include <conio.h>
int main()
{
FILE *fp,*fp1,*fp2;
fp=fopen("inp1.txt","r");
fp1=fopen("inp2t.txt","r");
int f;
char *a,*b,*chk;
char buffer[500],buf[5000];
while(fgets(buf,5000,fp1));
{
chk= (char *)strtok (buf," ");
while(chk!=NULL)
{
rewind(fp);
f=0;
while(fgets(buffer,500,fp))
{
a= (char *) strtok(buffer,"\t");
b= (char *) strtok(NULL,"\n");
if(stricmp(a,chk)==0)
{
printf("%s",b);
printf(" ");
f=1;
}
}
if(f==0)
{
printf("%s",chk);
printf(" ");
}
chk= (char *) strtok(NULL," ");
}
}
fclose(fp);
fclose(fp1);
getch();
return 0;
}
如何修复此代码,以便能够从两个输入文件中提取令牌?