[질문]fgets에대해
글쓴이: acc92 / 작성시간: 목, 2009/04/23 - 4:15오후
fgets의 함수 내용이 어떻게 되어있는지 궁금하네요
예를들어 f1에 1부터 10까지 f2에는 a부터 j까지 한행에 한문짜씩 입력해놓고
다음과 같이 소스를 짜고 실행하면
FILE *f1;
FILE *f2;
char buff[1024];
int cnt = 0;
f1 = fopen((char*)"f1","r");
if(f1 == NULL)
{
printf("f1 open error\n");
exit(0);
}
f2 = fopen((char*)"f2","r");
if(f2 == NULL)
{
fclose(f1);
printf("f2 open error\n");
exit(0);
}
while(fgets(buff,1024,f1) != NULL)
{
printf("f1 address %x\n",f1);
printf("f1 : %s\n",buff);
if(fgets(buff,1024,f2) != NULL)
{
printf("f2 address %x\n",f2);
printf("f2 : %s\n",buff);
}
}
fclose(f1);
fclose(f2);
exit(0);
문제없이 f1과 f2의 내용이 번갈아 가며 찍힙니다
문제는 f1와 f2의 어드레스는 바뀌지 않고 파일을 한줄씩읽어 가는데
fgets함수안에 어디까지 읽었는지 정보가 저장되어있나요?
Forums:
f1, f2 는
f1, f2는 FILE 이라는 형식으로 생성된 데이터입니다. 고로 FILE 의 선언을 찾아 보시면 해결 되겠네요.
stdio.h 나 libio.h 를 찾아보세요.
댓글 달기