Dev/C, C++

    c ini 읽는 모듈..

    급하게 필요해서 c 언어로 된 ini 읽는 모듈을 작성했다. 포함 된 내용은 아래와 같다. - trim 함수 사용 (http://newtype.pe.kr/361) - windows api의 ini 읽는 함수 원형을 흉내 냈다.(MSDN) 사용 설명 설정파일을 읽어 들이기 위한 Lib Pulibc 함수 int GetProfileString(FILE *fp, char *app, char *key, char *ret, int size); int GetProfileInt(FILE *fp, char *app, char *key, int *ret); 사용법 FILE *fp=0; if ((fp=fopen("/home/config/sample.ini", "r")) == 0 ) { stdout( "File open er..

    tracelog

    application이 시간대 별로 로그를 남긴다고 가정하자. tail로 해당 로그를 계속 모니터링 할 경우 매 시간마다 tail을 걸어주는 것이 여간 귀찮은 것이 아니다. 환경변수에 파일명 규칙을 설정해 놓으면, 자동으로 tail과 같이 동작하는 util을 만들어 봤다. - .profile 환경변수 설정 2008.01.30. 실행파일의 파라미터로 읽어들을 환경 변수명을 읽게 수정 - .profile 환경변수 설정 # tracelog export PROJECT_HOME=/home/app/myapp export TRACELOG=$PROJECT_HOME/log/history/20%y%m/ifsvr_20%y%m%d%H.log - tracelog.c #include #include #include #includ..

    trim

    이 함수는 프로젝트 하면서 수 십번은 만든거 같다. 매번 만들고, 보관 안해서.. 다음 프로젝트 땐 또 만들고.. 흐흐. 아무리 단순한 함수도 깨작 거리다 보면 1시간인데.. 매번 반복.. 이제 잊지 말자 ^^ $ cat trim.c #include /* 앞뒤 공백 제거 */ char* trim( char *s ) { char *f=s, *e=0, *c=s; /* 뒤쪽 공백 제거 */ e=s +(strlen(s)) -1; while(*e==' '&&s

    xor을 이용한 swap 함수

    #define SWAP( a, b) (a^=b^=a^=b) 예전 같은 직장은 팀장님이 알려주신 방법. 어떤 형이든 상관없다. 심지어 포인터까지도

    socket connect timeout

    connection 할때 timeout 처리에 관해 찾아 보는 중. nonblocking socket을 이용한 Rechard stevens의 소스가 있더군요. #include"unp.h" int connect_nonb(int sockfd, const SA *saptr, socklen_t salen, int nsec) { intflags, n, error; socklen_tlen; fd_setrset, wset; struct timevaltval; flags = Fcntl(sockfd, F_GETFL, 0); Fcntl(sockfd, F_SETFL, flags | O_NONBLOCK); error = 0; if ( (n = connect(sockfd, (struct sockaddr *) saptr, sal..

    URL Encoding/Decoding 함수

    URL을 인코딩/디코딩 하는 함수를 만들어 봤습니다. URL Encoding char *URLencpy(char *enc, char *src) { char buf[2+1]; int i, j; unsigned char c; if(src==0||enc==0) return 0; for(i=j= 0; src[i]; i++) { c = (unsigned char)src[i]; if (c == ' ') enc[j++] = '+'; if ((c >= '0') && (c = 'A') && (c = 'a') && (c = '0' && c = 'A' && c = 'a' && c = '0' && c = 'A' && c = 'a' && c