본문 바로가기
프로그램/C언어 1000제

C언어 112제] C언어 콘서트 CHAPTER 12 Programming 4 두파일을 비교하기 p489

by 건티 2022. 1. 25.
728x90

출처 : 반크_세계유산 고인돌

 

참고파일]

//Dev-C++ 5.11로 작업함.
#include <stdio.h>
#include <stdlib.h> //exit()
#include <string.h> //strcmp()

int main(void)
{
   FILE *fp1, *fp2;
   char file1[100], file2[100];
   char StrLine1[255],StrLine2[255];
   int c;
   int chk1, chk2; //두 파일의 끝여부 파악 변수 

   printf("첫번째 파일 이름 : ");
   scanf("%s", file1);

   printf("두번째 파일 이름 : ");
   scanf("%s", file2);

   // 첫 번째 파일을 읽기 모드로 연다.
   if ((fp1 = fopen(file1, "r")) == NULL)
   {
      fprintf(stderr, "첫번째 파일 %s을 열 수 없습니다.\n", file1);
      exit(1);
   }

   // 두 번째 파일을 읽기 모드로 연다.
   if ((fp2 = fopen(file2, "r")) == NULL)
   {
      fprintf(stderr, "두번째 파일 %s을 열 수 없습니다.\n", file2);
      exit(1);
   }

   //fp1, fp2를 서로 비교한다.
   c=1;
   while (1)
   {
      chk1=fgets(StrLine1,sizeof(StrLine1),fp1);
      chk2=fgets(StrLine2,sizeof(StrLine2),fp2);
      if(chk1==NULL || chk2==NULL) break;
      if(strcmp(StrLine1,StrLine2) != 0 )
      {
         c=0; break;
      }
   }

   //결과 출력
   if(c) printf("두파일은 같습니다.\n");
   else printf("두파일은 서로 다릅니다.\n");

   fclose(fp1);
   fclose(fp2);

   return 0;
}

 

참고파일 결과]

비교파일]

scores.txt
0.00MB
sales.txt
0.00MB

 

비교파일]

fseek1.c
0.00MB
fseek2.c
0.00MB

 

 

 

 

대한민국의 아름다운 영토, 독도

 

반응형

댓글