컴퓨터 공부/Advanced UNIX System Programming 29

[4월 29일 3교시] 라이브러리 파일 관련 함수 3

줄단위 입력 #include<stdio.h> char* fgets(char *buf, int n, FILE *fp); 기능  fp로 부터 입력, buf는 '\0'으로 끝난다. \n이 나올때까지 입력받아 \n까지 포함하여 buf에 저장. 입력한 문자열이 n-1을 초과하면 n-1개의 문자만 돌려준다. char *gets(char* buf); 기능 표준 입력으로부터 문자열을 읽음. 버퍼의 영역을 넘어 데..

[4월 29일 2교시] 라이브러리 파일 관련 함수 2

freopen #include<stdio.h> FILE *freopen(const char *pathname, const char *type, FILE *fp); 기능 : fp가 가리키는 스트림(주로 stdin, stdout, stderr)으로 파일을 개방. 리턴 : 성공시 FILE포인터, 실패시 NULL (printf를 파일 스트림과 연결하여 txt파일에 출력가능하게 할 수 있다.) fdopen #include<stdio.h> FILE *fdopen(int filedes, const char *typ..

[4월 29일 1교시] 라이브러리 파일 관련 함수 1

sync(), fsync() 기능 : 버퍼 캐시의 내용을 디스크에 쓰도록 한다. (실제 메모리와 캐시 사이에 inconsistency가 있을 때 synchronization을 위해 사용) #include<unistd.h> void sync(void); 데몬 프로세스에 의해 30초마다 호출. int fsync(int filedes); 지정된 파일에 대해서만 버퍼 캐시 내용에 대해 I/O작업을 수행. Blocking함수. ..

[4월 28일 3교시] 파일 및 디렉터리 관련 시스템 콜

link #include<unistd.h> int link(const char *existingpath, const char *newpath); 기능  존재하는 파일에 대해 새로운 디렉터리 항목 생성. i-node에 대한 연결 계수(link count) 1증가. 슈퍼 유저만이 디렉터리에 대한 링크 설정 가능. 서로 다른 파일 시스템 간 링크를 허용하지 않음. 리턴 : 성공시 0, 실패시 -1 unlink #include&l..

[4월 27일 3교시] 파일 관련 시스템 콜

open : 파일열기 #include<fcntl.h> int open(const char *pathname, int oflag, mode_t mode); 기능 : 존재하는 파일을 열거나 새로운 파일을 만드는 함수. 리턴 : 성공시 fd값, 실패시 -1 pathname : 열고자 하는 파일의 이름 oflag : 플래그  - 단일 지정 : 읽기, 쓰기, 읽기/쓰기  - 중복 지정  O_APPEND(쓰기는 파일 끝 추가),  O_C..