전자종합설계1-이채우-과제6
- 최초 등록일
- 2014.01.01
- 최종 저작일
- 2013.05
- 10페이지/ 한컴오피스
- 가격 2,000원
목차
없음
본문내용
// 텍스트파일 2개가 있다고 가정한 후 코딩을 시작하였습니다.
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
void main()
{
char buf1[200]; // 배열 크기 200을 할당한다.
char buf2[200]; // 다른 배열 크기 200을 할당한다.
FILE *fp1 = fopen("Test1.txt","rt"); // txt파일을 연다.
FILE *fp2 = fopen("Test2.txt","rt"); // 비교할 txt파일을 연다.
if((fp1==NULL)||(fp2==NULL)) // 둘 중 txt파일이 하나라도 제대로 열지 못하면
{ // 반환한다.
printf("file open error!\n");
return;
}
for(;(feof(fp1)==0)&&(feof(fp2)==0);) // 파일 2개가 동시에 끝나면 반복문을 빠져 나온다.
{
fgets(buf1,200,fp1); // 문자를 하나씩 비교하지 않고 한꺼번에 최대 200문자 씩 비교한다.
fgets(buf2,200,fp2); // 최대 한줄에 200자의 문자를 입력받는다.
if(strcmp(buf1,buf2)!=0) // 입력 받은 두 개의 문자열을 비교 한다.
{ // 만약 같지 않을 경우 프로그램을 종료한다.
printf("두 파일에 있는 내용이 같지 않습니다.\n");
exit(1);
}
if(((feof(fp1)==0)&&(feof(fp2)!=0))||((feof(fp1)!=0)&&(feof(fp2)==0)))
{ // 두 텍스트 파일의 문자열이 계속 같다가 나머지 하나는 내용이 끝나고
// 다른 파일은 계속 내용이 이어지는 경우 두 파일은 내용이 다르기 때문에
// 프로그램을 종료한다.
printf("두 파일에 있는 내용이 같지 않습니다.\n");
exit(1);
}
}
참고 자료
없음