HOME   로그인   회원가입
    
회원가입
비밀번호 찾기 자동로긴
이전게시판
   free_board
   건강게시판
   오라클DB
   Linux
   HTML/javascript
   질문과 답
호서기
   이미지게시판  
   건강게시판  
   음악자료  
   성준이 게시판  
  2010-03-17 16:40:582182 
c 에서 ini 읽기 함수구현
호석
c 에서 ini 읽기
함수구현
>>> daemon.ini
[POSMAST]
port_no=33001
maxfork=40
logpath=/home/../poscomm/log
[POSSALER]
port_no=33002
maxfork=40
datapath=/home/../poscomm/data
backpath=/home/../poscomm/data/sale
logpath=/home/../poscomm/log
[POSSALEU]
datapath=/home/../poscomm/data
backpath=/home/../poscomm/data/sale
logpath=/home/../poscomm/log
runcycle=3

>>> 헤더파일

#define INIFILE     "daemon.ini"        /* 환경 설정 INI                      */
#define NPHOME      getenv("NPHOME")    /* HOME 디렉토리                      */
#define DAEMON_NAME             "POSMAST"
>>> 소스
>>>>
    /*------------------------------------------------------------------------*/
    /*----- INI화일 READ */
    /*------------------------------------------------------------------------*/
    /*-INI 파일 경로 설정-*/
    snprintf(ini_path, sizeof(ini_path), "%s/bin/%s", NPHOME, INIFILE);
    memset(port_no,0x00,sizeof(port_no));
    if (get_inifile(ini_path, DAEMON_NAME, "port_no", port_no, sizeof(port_no)) == FALSE){
        printf("환경파일[%s] 오류 => [%s]의  port_no를 확인하십시요.\n", ini_path, DAEMON_NAME);
        exit(1);
    }
  

/******************************************************************************/
/* INI FILE READ                                                              */
/******************************************************************************/
int get_inifile(cFileName, cSetionName, cKeyName, cReturned, size)
char*   cFileName;
char*   cSetionName;
char*   cKeyName;
char*   cReturned;
int     size;
{
     char  cprobuff[BUFF_SIZE];
     FILE  *fp_file;
    /*** 환경화일 열기 ***/
    if((fp_file = fopen(cFileName, "r")) == NULL){
        fclose(fp_file);
        return FALSE;
    }
    while(1) {
        memset(cprobuff, 0x00, sizeof (cprobuff));
            if(fgets(cprobuff,BUFF_SIZE, fp_file) == NULL) {/* File 정보 읽기 */
                fclose(fp_file);
            return FALSE;
            }
            else{
                cprobuff[strlen(cprobuff)] = '\0';
                /* Section명 검사*/
                if (cprobuff[0] == '[' && memcmp(&cprobuff[1], cSetionName, strlen(cSetionName)) == 0
                               && cprobuff[strlen(cSetionName)+1] == ']') {
                    while(1) {/* File 정보 읽기*/
                        memset (cprobuff, '\0', sizeof (cprobuff));
                            if(fgets(cprobuff, BUFF_SIZE, fp_file) == NULL) {
                            fclose(fp_file);
                                return FALSE;
                            }
                            else {
                                cprobuff[strlen(cprobuff)] = '\0';
                                    /* 다른 Section*/
                                    if (cprobuff[0] == '[') {
                                fclose(fp_file);
                                    return FALSE;
                                    }
                                    /* Key 검사 */
                                    if (memcmp(cprobuff, cKeyName, strlen(cKeyName)) == 0
                                            && cprobuff[strlen(cKeyName)] == '=') {
                                        memset (cReturned, '\0', size);
                                        memcpy (&cReturned[0],   &cprobuff[strlen(cKeyName)+1],
                                                     (int)(strlen(cprobuff) - strlen(cKeyName) - 2));
                                        cReturned[(int)(strlen(cprobuff) - strlen(cKeyName) - 2)]= 0x00;
                                fclose(fp_file);
                                return TRUE;
                                    }
                            }
                        }/* End of while(1) */
                }
            }
    }/* End of while(1) {  */
    fclose(fp_file);
    return FALSE;
목록
4313
번호 제목 성명 날짜 읽음
40 memcmp 함수의 비교연산예 호석 12-02-09 2013
c 에서 ini 읽기 함수구현 호석 10-03-17 2183
38 xml 전송용 c 소스 호석 10-03-17 2284
37 PHP에서 엑셀 파일을 업로드 해서 사용하기 소스 호석 09-10-21 2845
36 dhtml edit control 분석 - 내 홈페이지에 wysisyg에디터를 달아보자. (1) 호석 09-03-27 2755
35 자바 ftp class 호석 08-05-19 2602
34 [ php.ini 환경설정파일 - 신규설치시 셋팅해야할 항목 ] 호석 08-05-01 2333
33 유비아이 리포트 배포관련 ubi report 호석 08-03-20 2662
32 아파치에 톰켓연동 호석 07-12-23 4237
31 톰켓연동에 대해서 호석 07-12-23 2348
30 [c] 진수변환 프로그램 호석 07-07-14 2739
29 [php] 타 도메인간 쿠키 공유하기 호석 07-05-16 3566
28 [php]다른 서버, 다른 도메인간 세션 공유 방법 1차 개선 호석 07-05-15 2977
27 [php]쿠키값 적용 활용팀 호석 07-05-15 3192
26 php floor 함수 오류 확인필요 호석 07-03-19 3081
1 [2] [3]  다음맨끝
 
Copyright © zenos.pe.kr. All rights reserved.