新手發問
#include <cstdlib>
#include <iostream>
#include <conio.h>
using namespace std;
int main(int argc, char *argv[])
{
FILE *x,*y;
char a,b;
int i;
x=fopen("e:/123.txt","r"); //讀a檔案
y=fopen("e:/456.txt","r"); //讀b檔案
if(x==0){printf("error1");} //a檔案失敗=error1
if(y==0){printf("error2");} //b檔案失敗=error2
while( (a=getc(x))!=EOF )
{printf("%c",a);}
while( (b=getc(y))!=EOF )
{printf("%c",b);}
while((getc(x))!=EOF||(getc(y))!=EOF)
{
if (((a=getc(x))!=EOF)==((b=getc(y))!=EOF ) )
{
printf("\n相同:\n");
printf("%c",getc(x));
printf("%c",b);}
else
{printf("\n不相同:\n");
printf("%c",a);
printf("%c",b);}
if(getc(x)!=EOF&&getc(y)!=EOF)
{break;}
}
fclose(x); //關閉a檔案
fclose(y); //關閉b檔案
printf("\n");
system("PAUSE");
return EXIT_SUCCESS;
}
下列是我想要比對的檔案資料內容:
a1234567890
0987654321a
----------------
所以應該會出現:
相同資料:
5
5
----------------
不同資料:
a123467890
098764321a
-----------------
請問寫法哪邊有問題呢?
請大大幫忙看看喔 感恩