Dev/C, C++
Oracle 에러코드
Visual Sutdio 2008 설치 기념 첫 산출물이다. Oracle 에러코드를 입력 하면 해당 문구를 출력 해주는 완전 초 간단 프로그램 Visual Studio 2005 보다 체감 속도가 빨라진 듯 하다. 전체 소스는 여기 소스는 사실 볼것 없고, 실행 파일만 사용하시길 ㅎㅎ
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..