'conf'에 해당되는 글 1건

  1. 2014.09.16 플랫폼 독립적인 설정파일 로딩 로직

리눅스 계열이든 윈도우 계열이든 서버 모듈을 개발시  설정 문서에서 값을 읽어오는 건 필수적이다.

윈도우에서 가장 쉽게 쓸수 있는 GetPrivateProfileString는 윈도우에서만 사용을 할 수 있다.

다음 ACE 라이브러리 함수를 사용하면  리눅스든 윈도우든 똑같이 작동을 한다.

 

물론 윈도우에서만 개발 하는 사람들은  소스가 많이 길어지니 불편할듯... 하다.

리눅스 개발자는 이거라도 해주면 고마워 한다..

 

 

#include <ace/OS.h>
#include <ace/Configuration.h>
#include <ace/Configuration_Import_Export.h>

 

int ACE_TMAIN()
{        ACE_Configuration_Heap config ;

        if(config.open() == -1)
        {
                ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("config open error\n")), -1) ;
        }
               
        ACE_Ini_ImpExp config_importer(config) ;

       
        if(config_importer.import_config("as.conf")== -1)
        {
                ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("not found conf file\n")), -1) ;
        }
               
       
        ACE_Configuration_Section_Key secion ;
        if(config.open_section(config.root_section(), ACE_TEXT("CONF"), 0, secion) == -1 )
        {
                ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("secion open error\n")), -1) ;
        }
               
        ACE_TString strData ;

        if(config.get_string_value(secion, ACE_TEXT("result"), strData) == -1  )
        {
                ACE_ERROR_RETURN((LM_ERROR, ACE_TEXT("Get String Value Error\n")), -1) ;
        }                                 
               
       
        printf("%s\n", strData.c_str());
                
        config.remove_section(config.root_section(), ACE_TEXT("CONF"), 0) ;
                
        return 0 ;
}

 

 

 

 

그럼 프로그램에서 읽어들이는 설정 문서 파일의 이름은 as.conf 이고 안에 내용은 다음과 같다.[CONF]
result=  reading conf

 

 

 

결과적으로  프로그램 실행을 했을시 콘솔에 찍히는 내용은 다음과 같다.

 

 reading conf

Posted by IT아지크
 TAG , , , , ,
이전버튼 1 이전버튼

블로그 이미지
IT아지크

공지사항

Yesterday16
Today4
Total33,977

달력

 « |  » 2018.08
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  

최근에 받은 트랙백

글 보관함