已有两个文本文件,今要求编程序从这两个文件中读出各行字符,逐个比较这两个文件中相应的行和列上的字符,如果遇到互不相同的字符,输出它是第几行第几列的字符

该题目主要考察文本文件字符的判断问题 

 

代码
#include<stdio.h>
#include
<conio.h>
void main()
{
FILE
*fpa,*fpb;
char cha,chb;
int linea,lineb,a,b;
linea
=lineb=1;
a
=b=0;
if((fpa=fopen("a.txt","r"))==NULL)
{
printf(
"can't open file!");
exit(
1);
}

if((fpb=fopen("b.txt","r"))==NULL)
{
printf(
"can't open file!");
exit(
1);
}

printf(
"文件a\t\t文件b\n");
cha
=fgetc(fpa);
chb
=fgetc(fpb);
while(!feof(fpa) &&!feof(fpb)) //ch==EOF用来判断是否是文件结束符
{
a
++;
b
++;
if(cha==10)
{
linea
++;a=0;
while(chb!=10)
chb
=fgetc(fpb);
lineb
++;b=0;
}
else if(chb==10)
{
lineb
++;b=0;
while(cha!=10)
cha
=fgetc(fpa);
linea
++;a=0;
}
else
{
if(cha!=chb)
printf(
"第%d行第%d列%c\t第%d行第%d列%c\n",linea,a,cha,lineb,b,chb);

}
cha
=fgetc(fpa);
chb
=fgetc(fpb);
}

fclose(fpa);
fclose(fpb);
getch();
}

 

posted @ 2010-02-25 15:59  齐心  Views(1158)  Comments(0Edit  收藏  举报