C & LINUX

    C / LINUX putenv(3)

    함수 기능 기존 환경 변수의 값을 변경하거나 새로운 환경변수를 등록 환경변수란? 환경변수란 프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임 함수 원형 #include int putenv(const char *str); 함수 파라메터 str 이름 = 값 의 형식으로 처리 함수 예제 putenv1 #include #include #include #include void ssu_addone(void); extern char **environ; char glob_var[]="HOBBY=swimming"; int main(void){ int i; for(i = 0; environ[i]!=NULL; i++){ printf("environ[%d] :%s\n",i,environ[i]); } pu..

    C / LINUX link() unlink()

    함수 기능 link 기존 파일에 대한 링크를 생성하는 시스템호출 하드링크 unlink 기존 디렉토리 항목의 링크를 제거하는 시스템호출 함수 원형 #include int link(const char *existingpath, const char *newpath); int unlink(const char *filepath); 리턴 값 : 성공 시 0 에러시 -1 함수 파라메터 existingpath 현존하는 경로 newpath 새롭게 만들 경로 filepath 파일경로 함수 예제 link #include #include #include int main(int argc, char *argv[]){ if(argv

    C / LINUX chown() fchown() lchown()

    함수 기능 파일의 소유자 id와 그룹 사용자 id를 변경하기 위한 시스템호출 함수 함수 원형 #include #include int chown(const char *filepath, uid_t owner, gid_t group); int fchown(int fd, uid_t owner, gid_t group); int lchown(const char *filepath, uid_t owner, gid_t group); 함수 파라메터 pathname 소유자를 변경할 파일의 경로 filedes 파일 디스크립터 owner 파일의 새 소유자 group 파일의 새그룹 함수 예제 #include #include #include #include #define MODE_EXEC (S_IXUSR|S_IXGRP|S_IXOT..

    C / LINUX chmod(2) fchmod(2)

    함수 기능 파일의 접근 권한을 변경하는 함수 함수 원형 #include #include int chmod(const char *filepath, mode_t mode); int fchmod(int fd, mode_t mode); 리턴 값 : 성공 시 0 에러시 -1 함수 파라메터 filepath 파일의 경로이름 mode umask의 cmask와 동일 함수 예제 chmod1 #include #include #include #include int main(void){ struct stat statbuf; char *fname1 = "ssu_file1"; char *fname2 = "ssu_file2"; if(stat(fname1,&statbuf)

    C / LINUX umask()

    함수 기능 파일 또는 디렉토리가 생성될 때에 불필요하게 많은 권한을 갖지 않도록 통제하는 함수 함수 원형 #include #include Mode_t umask(mode_t cmask) 리턴 값 : 이전의 파일 모드 생성 마스크 함수 파라메터 cmask 원하는 mask 값 함수 예제 #include #include #include #include #define RW_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH) int main(void){ char *fname1="ssu_file1"; char *fname2="ssu_file2"; umask(0); if(creat(fname1,RW_MODE)

    C / LINUX access()

    함수 기능 인자로 지정한 파일에 대해 사용자 , 프로세스 접근가능한지 판단하는 시스템호출 함수 원형 #include int access(const char *pathname, int mode) 리턴값 : 성공시 0 에러시 -1 리턴 함수 파라메터 pathname 인자로 지정한 파일 mode R_OK, W_OK, X_OK, F_OK 파일존재여부판정 함수 예제 access1 #include #include #include int main(int argc, char *argv[]){ int i; if(argc

    C / LINUX atexit(3)

    함수 기능 exit() 함수가 실행될 때 자동으로 실행될 함수들을 등록하는 함수 함수 원형 #include int atexit(void (*__func__)(void)); 함수 파라메터 __func__ 함수 포인터 함수 예제 #include #include void ssu_out(void); int main(void){ if(atexit(ssu_out)){ fprintf(stderr, "atexit error\n"); exit(1); } exit(0); } void ssu_out(void){ printf("atexit succeeded!\n"); } 리눅스시스템 프로그래밍 - 홍지만 저 교재 내에 있는 예제를 바탕으로 작성한 글 입니다.

    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..