전체 글

전체 글

    C / LINUX exit(3) _Exit(2) _exit(2)

    함수 기능 exit 프로그램을 정상 종료시킬 떄 사용하는 라이브러리 함수 _Exit, _exit 프로그램 종료 시스템호출 함수 함수 원형 #include void exit(int status); void _Exit(int status); #include void _exit(int status); 함수 파라메터 status 프로세스 종료 상태 함수 예제 _exit #include #include int main(void){ printf("Good afternoon?"); _exit(0); } exit #include #include int main(void){ printf("Good afternoon?"); exit(0); } 리눅스시스템 프로그래밍 - 홍지만 저 교재 내에 있는 예제를 바탕으로 작성한 글..

    C / LINUX tempnam(3)

    함수 기능 임시파일 이름ㅇ르 생성하는 라이브러리 tmpfile과 다르게 사용자가 임시파일이 만들어질 디렉토리를 직접지정가능 함수 원형 char *tempnam(const char *directory, const char *prefix); 리턴 값 : 고유한 경로 이름을 가리키는 포인터, 에러 발생시 null리턴 함수 파라메터 directory 임시파일 만들 경로 prefix 임시파일 접두사 null자주사용 함수 예제 #include #include int main(int argc, char *argv[]){ char *arg_directory = NULL; char *arg_prefix = NULL; if(argc !=3){ fprintf(stderr, "usage:%s\n",argv[0]); exit(..

    C / LINUX tmpnam, tmpfile

    함수 기능 임시 파일을 생성하는 라이브러리함수 함수 원형 #include char *tmpnam(char *buf); FILE *tmpfile(); 리턴 값 : 고유한 임시파일의 경로이름을 가리키는 포인터, 고유이름 못만들면 NULL 함수 파라메터 buf 파일버퍼 함수 예제 tmpnam #include #include #define MAX_LINE 4096 int main(void){ char buf[MAX_LINE]; char name[L_tmpnam]; FILE *fp; printf("temp file 1: %s\n",tmpnam(NULL)); tmpnam(name); printf("temp file 2: %s\n",name); if((fp=tmpfile())==NULL){ fprintf(stderr..

    C / LINUX scanf(3) fscanf(3) sscanf(3)

    함수 기능 데이터를 foramt에서 지시하는 대로 서식화 변환하여 입력 받는 라이브러리 함수 fscanf fp가 가리키는 파일에 입력 sscanf 파일이 아닌 인자 buf가 가리키는 문자 배열에서 읽음 함수 원형 #include int scanf(const char *format, ...); int fscanf(FILE *fp, const char *format, ...); int sscanf(const char *buf, const char *format, ...); 함수 파라메터 format 형식지정자 buf 문자열을 저장할 buf 함수 예제 fscanf #include #include #define BUFFER_SIZE 1024 int main(void){ char *fname = "ssu_test..

    C / LINUX sprintf(3) snprintf(3)

    함수 기능 형식에 맞춰서 문자열을 출력해주는 함수 함수 원형 #include int sprintf(char *buf, const char *format, ...); int snprintf(char *buf, size_t size, const char *format, ...); 함수 파라메터 format 형식지정자 buf 출력 문자열 저장 버퍼 size 어느정도 사이즈로 출력할것인가 함수 예제 #include #include #include int main(int argc, char *argv[]) { char buf[BUFSIZ]; sprintf(buf, "%d", 123); printf("%s\n", buf); exit(0); } 리눅스시스템 프로그래밍 - 홍지만 저 교재 내에 있는 예제를 바탕으로 작..

    C / LINUX printf(3) fprintf(3)

    함수 기능 주어진 형식에 맞추어진 문자열을 파일에 출력하는 함수 함수 원형 #include int printf(const char *format, ...); int fprintf(FILE *fp, const char *format, ...); 함수 파라메터 format 형식 지정자 함수 예제 #include #include #include int main(int argc, char *argv[]) { char *text = "My test txt!\n"; FILE *fp; fp = fopen("ssu_test.txt", "w"); printf("%s", text); fprintf(fp, "%s", text); exit(0); } 리눅스시스템 프로그래밍 - 홍지만 저 교재 내에 있는 예제를 바탕으로 작성한..

    C / LINUX ftell(3) fseek(3) rewind(3)

    #include #include int main(void){ char *fname = "ssu_test.txt"; FILE *fp; long position; int character; if ((fp=fopen(fname,"r"))==NULL){ fprintf(stderr, "fopen error for %s\n",fname); exit(1); } printf("Input number>>"); scanf("%ld",&position); fseek(fp,position-1,SEEK_SET); character=getc(fp); printf("%ldth character -> %c\n",position,character); exit(0); } 함수 기능 ftell 파일 스트림의 현재 오프셋 위치가 파일의 시..

    C / LINUX fread(3), fwrite(3)

    함수 기능 fread 사이즈 크기를 갖는 데이터를 한 단위로하여 nobj인자만큼 읽도록 하는 함수 fwrite size크기만큼의 데이터를 nobj 인자만큼 출력 함수 원형 #include size_t fread(void *ptr, size_t size, size_t nobj, FILE *fp); size_t fwrite(const void *ptr, size_t size, size_t nobj, FILE *fp); 함수 파라메터 ptr 읽고 쓸 데이터 위치 size 크기 nobj 얼마만큼 읽을 것인가 fp 파일포인터 함수 예제 fread #include #include struct ssu_pirate { unsigned long booty; unsigned int beard_length; char nam..

    C / LINUX stat() fstat() lstat()

    함수 기능 pathname/fildes파일의 stat구조체를 리턴하는 시스템호출 stat 지정한 pathname에 해당하는 파일에 대한 정보를 넣은 stat구조체를 buf로 리턴 fstat 지정 filedes 오픈 확인하고 해당파일에 대한 정보를 넣은 stat구조체를 buf로 리턴 lstat 심볼릭 링크 파일 자체에 대한 정보를 넣은 stat구조체 자체 리턴 함수 원형 #include #include #include int stat(const char *restrict pathname, struct stat *restrict buf) int fstat(int filedes, struct stat *buf) int lstat(const char *restrict pathname, struct stat *r..

    C / LINUX dup() dup2()

    함수 기능 기존 파일 디스크립터를 복사하기 위한 시스템 호출 함수 원형 #include Int dup(int filedes) Int dup2(int filedes, int filedes2) 리턴 값 : 성공시 새로운 파일 디스크립터, dup2는 filedes2리턴 에러시 -1 함수 파라메터 filedes 파일 디스크립터 filedes2 두번째 파일 디스크립터 함수 예제 dup1 #include #include #include #include #define BUFFER_SIZE 1024 int main(void){ char buf[BUFFER_SIZE]; char *fname = "ssu_test.txt"; int count; int fd1, fd2; if((fd1 = open(fname,O_RDONLY,..