Nội dung chính
Bài tập C - So sánh hai file trong C
Đề bài: Viết chương trình C so sánh nội dung hai file để kiểm tra xem hai file có đồng nhất hay là không.
Lời giải
Chúng ta thực hiện theo các bước:
Đầu tiên, chúng ta khai báo hai con trỏ file cho hai file.
Mở hai file trong chế độ đọc.
Bên trong vòng lặp while chúng ta đọc từng ký tự của hai file và kiểm tra xem ký tự đó có phải là EOF (viết tắt của End of File) hay không.
Kiểm tra xem từng ký tự của hai file có bằng nhau hay không
Nếu tất cả là bằng nhau thì kết luận nội dung hai file là đồng nhất. Nếu không thì kết luận rằng nội dung hai file là khác nhau.
Dưới đây là chương trình C để so sánh hai file trong C:
#include<stdio.h> int main() { FILE *fp1, *fp2; int ch1, ch2; char fname1[40], fname2[40]; printf("Nhap ten cua file thu nhat: "); gets(fname1); printf("Nhap ten cua file thu hai: "); gets(fname2); fp1 = fopen(fname1, "r"); fp2 = fopen(fname2, "r"); if (fp1 == NULL) { printf("Khong the mo file %s.", fname1); exit(1); } else if (fp2 == NULL) { printf("Khong the mo file %s.", fname2); exit(1); } else { ch1 = getc(fp1); ch2 = getc(fp2); while ((ch1 != EOF) && (ch2 != EOF) && (ch1 == ch2)) { ch1 = getc(fp1); ch2 = getc(fp2); } if (ch1 == ch2) printf("\nHai file la dong nhat."); else if (ch1 != ch2) printf("\nHai file la khong dong nhat."); fclose(fp1); fclose(fp2); } return (0); }
Chạy chương trình C trên cho kết quả như sau: