출처 : 반크_세계유산 고인돌
참고풀이]
//Dev-C++ 5.11로 작업함.
//읽어올 파일들은 프로그램이 저장될 곳에 같이 있어야 합니다.
#include <stdio.h>
#include <stdlib.h> //exit()
#include <string.h> //strlen(), strcmp()
int main(void)
{
FILE *fp1, *fp2, *fp3;
char file1[100], file2[100], file3[100];
char StrLine1[255],StrLine3[255];
int c;
int chk; //파일의 끝여부 파악 변수
printf("첫번째 파일 이름 : ");
scanf("%s", file1);
printf("두번째 파일 이름 : ");
scanf("%s", file2);
printf("합칠 파일 이름 : ");
scanf("%s", file3);
// 첫 번째 파일을 읽기 모드로 연다.
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);
}
// 세 번째 파일을 쓰기 모드로 연다.
if ((fp3 = fopen(file3, "w")) == NULL)
{
fprintf(stderr, "합칠 파일 %s을 열 수 없습니다.\n", file3);
exit(1);
}
//fp1을 합칠파일에 저장한다
c=0;
while((chk=fgets(StrLine1,sizeof(StrLine1),fp1)) != NULL)
{
if(c) strcat(StrLine3,StrLine1);
else
{
c=1;
strcpy(StrLine3,StrLine1);
}
fputs(StrLine3,fp3);
}
//fp2을 합칠파일에 저장한다
while((chk=fgets(StrLine1,sizeof(StrLine1),fp2)) != NULL)
{
strcpy(StrLine3,StrLine1);
fputs(StrLine3,fp3);
}
fclose(fp1);
fclose(fp2);
return 0;
}
참고풀이 결과]
읽어올 파일1)
읽어올 파일2)
대한민국의 아름다운 영토, 독도의 겨울
댓글