물론 단번에 코드를 본다면 좋기야 하겠지만 장기적으로 봤을때
혼자풀어보기 -> 힌트 -> 코드보기 순으로 공부하시는게 실력 향상에 큰 도움이 됩니다!
힌트를 보고 천천히 생각을 거쳐서 문제를 풀어보시고
답안을 확인해보세요
더보기
두 파일을 모두 읽기 모드로 열고
첫 번째 파일과 두 번째 파일을 비교합니다.
서로 다른 글자가 나오면 두 파일은 서로 다릅니다를 출력하고 프로그램이 종료되고
서로 다른 글자가 없다면 두 파일은 서로 같습니다를 출력하고 프로그램이 종료됩니다
#include <stdio.h>
#include <stdlib.h>
int main(void) {
FILE *fp1, *fp2;
char file1[100], file2[100];
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);
}
// 첫 번째 파일과 두 번째 파일을 비교
while( 1 ) {
int c1 = fgetc(fp1);
int c2 = fgetc(fp2);
if( ) // 둘 중 한 파일이 끝나면 break;
break;
if( ) { //c1, c2가 다르면 두파일은 서로다릅니다를 출력
printf("두 파일은 서로 다릅니다.\n");
return 0;
}
}
printf("두 파일은 서로 같습니다.\n"); //c1, c2가 같으면 두파일은 서로 같습니다를 출력
fclose(fp1);
fclose(fp2);
return 0;
}
더보기
#include <stdio.h>
#include <stdlib.h>
int main(void) {
FILE *fp1, *fp2;
char file1[100], file2[100];
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);
}
// 첫 번째 파일과 두 번째 파일을 비교
while( 1 ) {
int c1 = fgetc(fp1);
int c2 = fgetc(fp2);
if( c1 == EOF || c2 == EOF )
break;
if( c1 != c2 ) {
printf("두 파일은 서로 다릅니다.\n");
return 0;
}
}
printf("두 파일은 서로 같습니다.\n");
fclose(fp1);
fclose(fp2);
return 0;
}
더 많은 C언어 글이 궁금하다면?
https://chuinggun.tistory.com/category/C%EC%96%B8%EC%96%B4
댓글