UNIX에서 사용하는 CAT함수
딥자두
질문 제목 : 라인수의 영향을 받지 않는 cat 함수질문 요약 :UNIX에서 사용하는 CAT함수처럼 라인 수에 제한을 받지 않는 CAT함수를 짜고 싶어요질문 내용 : 안녕하세요..
C 언어를 배운지 한 달정도 되는데요..
UNIX에서 사용하는 명령어들을 한 번씩 짜보고 싶어서 CAT함수를 작성해 보았습니다.
그런데 제가 작성한 것은 소스에서도 보시다시피 1000라인이 넘어가면 안 되겠죠..
그런데 실제 UNIX에서 사용하는 CAT함수는 몇 십만 라인이 넘어도 되던데..
이차원배열 동적할당(malloc)을 이용하면 될 것이라는 생각은 드는데 어떻게 적용해야할 지....
라인 수에 제한을 받지 않는 CAT 함수를 작성하려면 어떻게 하면 좋을 지 조언을 구합니다..
#include stdio.h
#include string.h
main(argc, argv)
int argc;
char *argv[];
{
FILE *fp1;
FILE *fp2;
char buffer1[1000], buffer2[1000];
char line[1000][200];
int i=0;
if((fp1=fopen(argv[1],rt))==NULL)
{
printf(file open error. \n);
}
while(fgets(buffer1,200,fp1))
{
strcpy(line[i],buffer1);
printf(%s,line[i]);
i++;
}
fp2=fopen(argv[2],rt);
while(fgets(buffer2,200,fp2))
{
strcpy(line[i],buffer2);
printf(%s,line[i]);
i++;
}
fclose(fp1);
fclose(fp2);
return 0;
}