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 


'Development > C' 카테고리의 다른 글

gcc 옵션 정리 - 자바 -D 옵션 의미  (0) 2012.03.23
헤더파일과 라이브러리  (0) 2012.02.24
C에서 정의된 FILE 구조체  (0) 2012.02.22
C 표준 라이브러리  (0) 2012.02.11
C언어 표준  (1) 2012.02.11
심볼 테이블 (Symbol Table)  (0) 2012.01.31
Posted by linuxism

댓글을 달아 주세요