엔지니어 230

[EDW519] 월드 클래스(?) 프로그래머의 일상

본 페이지는 HACKER NEW의 TOP CONTIRBUTOR Ed Weissman의 기고문을 바탕으로 작성되었습니다. 출처 : The Best of edw519 [ 맘대로 번역 ] [ 에드의 일반적인 하루 ] 나는 단거리 경주가 아닌 마라톤의 삶을 살고 있기에, 건강한 스케줄 안에서 나의 긴 업무 시간의 틀을 만들었다. 나의 전형적인 하루일과는 다음과 같다. ---------------------------------------------------------------------- 7:00 am - 지난밤의 계획에 대해서 즉시 코딩을 시작한다. 그리고 이메일, 뉴스 해드라인확인 8 to 9 - 운동 9 - 아침식사 및 인터넷 9:30 to 12 - 코딩 12 - 점심식사 및 인터넷 12:30 to 6..

엔지니어 2012.08.22

strcmp 함수 예제

strcmp : 2개의 문자열을 비교하는 함수 NAME strcmp, strncmp - compare two strings SYNOPSIS #include int strcmp(const char *s1, const char *s2); int strncmp(const char *s1, const char *s2, size_t n); 문자열의 길이를 비교하는것이 아니라 바이트 크기를 비교한다. strcmp(const char *s1, const char *s2); 이러한데 리턴값은 아래와 같다. s1 = s2 이면 0 s1 > s2 이면 -1 s1 < s2 이면 1 예제를 보면 이해하기 쉬울 것 같다. #include #include int main() { char *temp1 ="HPUX"; char *t..

엔지니어 2012.08.17

strchr 함수 예제

strchr() 함수는 문자열에서 특정문자의 시작 포인터를 알려주는 함수 NAME strchr, strrchr, strchrnul - locate character in string SYNOPSIS #include char *strchr(const char *s, int c); char *strrchr(const char *s, int c); #define _GNU_SOURCE #include char *strchrnul(const char *s, int c); 의외로 유용하게 쓰일곳이 많을 것 같다. 예제 소스코드를 보면 아래와 같다. 입력하는 문자열은 august wednesday 인데 이중에서 w 문자열을 찾으면 거기의 포인터를 가져온다. 따라서 아래의 코드를 돌려보면 wednesday가 결과로 나..

엔지니어 2012.08.14

strdup 함수 예제

strdup()함수는 입력받은 문자열을 복사한 새로운 문자열 포인터를 반환해준다. NAME strdup, strndup, strdupa, strndupa - duplicate a string SYNOPSIS #include char *strdup(const char *s); char *strndup(const char *s, size_t n); char *strdupa(const char *s); char *strndupa(const char *s, size_t n); #include #include int main() { char *me; me = strdup("who am I"); printf("%s\n", me); return 0; } [추가 내용] 배열 같은경우 1. char a[] = "test..

엔지니어 2012.08.14

getutxent 함수 예제

사용자 관련 정보 검색함수 getutxent()에 대해서 오늘 우연히 사용하게 되어 이에 대한 기록을 남겨놓고 감. utmp => who 명령어에서 사용함. wtmp => last 명령어에서 사용함 함수를 사용할때 추가해야할 해더파일 #include getutxent함수와 관련된 다른 함수들 struct utmpx *getutxent(void); void setutxent(void); void endutxent(void); int utmpxname(const char *file); => file - 교체할 파일이름이 매개변수로 넘어간다. getutxent 함수는 /var/adm/utmpx 파일에서 로그인 정보를 순차적으로 읽어들임. setutxent 함수는 /var/adm/utmpx 파일의 오프셋을 파일..

엔지니어 2012.08.13

strtok 함수 예제

이름 strtok, strtok_r - 문자열에서 토큰들을 뽑아낸다. 사용법 #include char *strtok(char *s, const char *delim); char *strtok_r(char *s, const char *delim, char **ptrptr); 예제를 보면 아래처럼 쉽게 테스트할 수 있다. ============================== #include #include #include int main() { char *temp = "/home/test/HISTORY/history/test_file"; char *aa, buf[256]; strncpy(buf, temp, sizeof(buf)); printf("before strtok : %s\n", buf); aa = ..

엔지니어 2012.08.06

특수문자 파일명 디렉토리명 삭제 (inode이용)

오늘 파일을 하나 지워야 하는데 파일명이 \ 여서 지울라다 보니까 아래와 같은 방법으로 지웠다. % ls -al total 996 drwxr-xr-x 4 jeon jeon 1024 Jul 31 14:02 ./ drwxr-xr-x 54 jeon jeon 2048 May 3 18:30 ../ -rw-r--r-- 1 jeon jeon 21975 Jun 22 13:34 .dependencies drwxr-xr-x 6 jeon jeon 1024 Jul 31 12:30 .svn/ -rw-r--r-- 1 jeon jeon 1843 Jan 30 2012 Makefile -rw-r--r-- 1 jeon jeon 359 Jan 30 2012 \ 아래와 같이 i 옵션을 추가해서 inode값을 확인한다. % ls -ali t..

엔지니어 2012.07.31

readv 함수 예제

read 함수와 매우 동일한 함수다. 다만 다중 버퍼를 사용할 수 있다는 것만 차이점이다. NAME readv, writev - read or write data into multiple buffers SYNOPSIS #include ssize_t readv(int fd, const struct iovec *iov, int iovcnt); 리턴값 : 성공시 전송한 바이트 수, 실패시 -1 리턴 인자값 : - fd : 데이터 전송의 목적지를 나타내는 소켓의 파일 디스크립터를 전달한다. 반드시 소켓에만 제한되는 함수가 아니다. read, write 함수처럼 파일이나 콘솔을 입, 출력 대상으로 할 수도 있다. - vector : 일반적으로 iovec 구조체 배열의 이름을 인자로 전달하는데, iovec 구조체에..

엔지니어 2012.07.30

[LINUX 명령어] sadf 명령어

이럴수가 asdf 마구 치다가 우연히 찾은 명령어다. 아직 자세하게 뭔지는 모르기에 man page 가져다 붙여두고 좀 봐야겠다. SADF(1) Linux User's Manual SADF(1) NAME sadf - Display data collected by sar in multiple formats. SYNOPSIS sadf [ -d | -D | -H | -p | -x ] [ -t ] [ -V ] [ -P { cpu | ALL } ] [ -s [ hh:mm:ss ] ] [ -e [ hh:mm:ss ] ] [ -- sar_options... ] [ interval [ count ] ] [ datafile ] DESCRIPTION The sadf command is used for displaying ..

엔지니어 2012.07.26