[問題] 檔案比對

看板C_and_CPP (C/C++)作者 (關西鐵人學學)時間14年前 (2011/09/23 20:26), 編輯推噓2(203)
留言5則, 3人參與, 最新討論串1/1
我是程式初學者,想寫一個檔案內容比對的小程式 程式如下 #include <stdio.h> #include <stdlib.h> #include <string.h> int main() { FILE *f1=fopen("1.txt","r"); FILE *f2=fopen("2.txt","r"); char a[50],b[50]; int n=50; fgets(a,n,f1); fgets(b,n,f2); while(a!=EOF&&b!=EOF) { if(strcmp(a,b)) printf("not the same"); else printf("the same"); } fclose(f1); fclose(f2); system("PAUSE"); return 0; } 當編譯後他說strcmp不能比較pointer或integer 試了很久還是不太懂該怎麼修正 麻煩各位大大解惑了~~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.114.89.100

09/23 20:36, , 1F
先一個個指令搞清楚它的功用.
09/23 20:36, 1F

09/23 20:38, , 2F
fgets(a,n,f1); // 裡面的 a 與 n 的搭配
09/23 20:38, 2F

09/23 20:39, , 3F
不知道 a!=EOF 是否合乎規則? (我腦袋裡沒放這種例子)
09/23 20:39, 3F

09/23 21:58, , 4F
while(fgets(a,n,f1)!=NULL && fgets(b,n,f2)!=NULL)..
09/23 21:58, 4F

09/25 16:07, , 5F
不一定藥用strcmp, 用memcmp 對你也可是用
09/25 16:07, 5F
文章代碼(AID): #1EV7hrG- (C_and_CPP)
文章代碼(AID): #1EV7hrG- (C_and_CPP)