發新話題

[問題] 新手發問

新手發問

#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
-----------------
請問寫法哪邊有問題呢?
請大大幫忙看看喔 感恩

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。