1. 문제 - 두 개의 텍스트 파일이 같은지 다른지 출력하라
2. 예시 - 같을떄 "습니다" 다를때 "다릅니다" 를 출력

#include <stdio.h>
#include <string.h>

int main(){
FILE *pt = fopen("aaa.txt", "rt");
FILE *pt2 = fopen("bbb.txt", "rt");
char ch[20];
char ch2[20];
int count =0;

while(1){
if(feof(pt)!=0 && feof(pt2) != 0){ // 문자열이 끝인지 검사한다.
break;
}

fgets(ch, sizeof(ch), pt);
fgets(ch2, sizeof(ch2), pt2);
if(strcmp(ch, ch2) != 0){ // 문자열의 한 줄씩 비교한다.
count++; // 다르면 count가 증가한다.
printf("다릅니다."); // count가 1이라도 증가하면 두 문자열은 다르다.
break;
}
}
if(count == 0){ // count가 처음과 같은 0이라면 문자열이 같다.
puts("같습니다.");
}
fclose(pt);
fclose(pt2);
return 0;
}
// 개인적으론 feof를 좋아하지 않기 때문에 이렇게 작성하는 방법도 있다.

while(fgets(ch, sizeof(ch), pt) != NULL && fgets(ch2, sizeof(ch2), pt2) != NULL){
if(strcmp(ch, ch2) != 0){
count++;
printf("다릅니다.");
break;
}
}

블로그 이미지

ryancha9

https://blog.naver.com/7246lsy

,