C에서 정의된 FILE 구조체
C에서 정의된 FILE 구조체
typedef struct _iobuf
{
char* _ptr; //파일포인터로 파일의 현재 위치를 나타낸다.
int _cnt; //입력버퍼에서 사용할 수 있는 문자의 개수
char* _base; //메모리상에 있는 파일 원형의 주소를 가리킨다.
int _flag; //파일 포인터가 파일의 끝에 오면 제 5bit가 1이 됨.
int _file; //파일 식별자
int _charbuf; //문자열 버퍼
int _bufsiz; //버퍼의 크기
char* _tmpfname; //임시 파일 이름의 위치?
} FILE;
FILE *fp;
fp=("data.txt", "w+t");
char* _ptr; //파일포인터로 파일의 현재 위치를 나타낸다.
int _cnt; //입력버퍼에서 사용할 수 있는 문자의 개수
(the number of characters to use in the buffer)
버퍼에 남아있는 문자의 개수를 나타낸다.
int _bufsiz; //파일을 읽어들일 버퍼의 크기
char* _base 메모리상에 있는 파일 원형이 있는 시작 주소를 가리킨다.
printf("%s\n"fp->_base);
위 명령을 fclose(fp);명령 앞에서 실행시키면,
파일에 출력되는 내용을 모두 볼 수 있다.
_files 파일 식별자 정도로 생각하면 된다.
stdin은 0 : 입력버퍼, stdout은 1:출력버퍼, stderr은 2: 에러버퍼,
나머지부터는 파일이 열어진 순서대로 3, 4, 5...가 할당된다.
검색해봤으나 안타깝게도 관련자료가 없어서 직접 테스트 해보는 중이다.
책이 있으면 보고 적을텐데, 관련서적이 없는 관계로... ^^;
아무튼, 나머지는 알아가는 대로 추가...
출처 - http://blog.naver.com/bsbs0126?Redirect=Log&logNo=150033511204