네트워크

파일디스크립트,넘버모드

sokoban 2007. 10. 30. 10:58
fp=fdopen(파일디스크립트, 넘버모드)
파일디스크립트를 파일 포인터로 반환한다.

fiildes = open(....);
fp=fdopen(fiildes,...);

fclose함수가 나타나면 쓰기만 종료되도 완전 종료된다.
*dup을 사용하는 이유
    파일디스크립터가 하나  에프디 오픈 2번선언해서 입력용 출력용 선언하고
    출력용에 fclose선언하면 오픈도같이 종료 완전종료가왼다.

    그러므로 파일 디스크립터를 입력용으로하나 만들고
    파일디스크립터를 출력용으로 하나 만든다.
    그리고 거기에서 파일 포인터를 에프디오픈으로 출력용으로 선언하고 ,읽기용으로선언하면
   읽기용 쓰기용따로따로 닫게 할수있다. (2개의 파일 디스크립터는 하나의 소켓을 가르키고)
   dup이나 dup2를 선언하면 파일 디스크립터가 복사되는 함수이다.

fileno(파일포인터) =>파일포인터를 파일 디스크립트 넘버로 반환해준다.

내부적으로 전역변수다 스태틱변수를 쓰는 함수들은 쓰레드에 안전하지 않다