#include <conffile.h> class ConfFile | |
メンバーシップ関数 | 機能 |
---|---|
ConfFile(void) | コンストラクタ |
ConfFile(const char *pFileName) | コンストラクタ |
~ConfFile(void) | ディストラクタ |
void Clear(void) | 初期化 |
bool ReadFile(const char *pFileName) | 初期設定ファイルを読み込む |
bool SaveFile(void) | 初期設定ファイル保存 |
bool GetValue(const char *pKey,bool pDefault) | keyを指定してvalueを得る |
int GetValue(const char *pKey,int pDefault) | keyを指定してvalueを得る |
double GetValue(const char *pKey,double pDefault) | keyを指定してvalueを得る |
string GetValue(const char *pKey,const char *pDefault) | keyを指定してvalueを得る |
void SetValue(const char *pKey,bool pVal) | keyを指定してvalueを設定する |
void SetValue(const char *pKey,int pVal) | keyを指定してvalueを設定する |
void SetValue(const char *pKey,double pVal) | keyを指定してvalueを設定する |
void SetValue(const char *pKey,const char *pVal) | keyを指定してvalueを設定する |
bool KeyExist(const char *pKey) | keyが存在するかどうか |
void DelKey(const char *pKey) | keyを削除する |
void ToBeSaved(bool true|false) | 保存フラグを設定・解除する |
int GetData(map <string,string> *&v) | 初期設定値をkey , valueの組で取得する |
class ConfFileがサポートするのは、次のようにkey=valueからなる簡単な初期設定ファイルです。
#configure file img_dir=./img1 log_file=./test.log mode=check1 key=value"#" , ";" , "//" で始まる行はコメントとして無視されます。漢字コードはEUC、改行コードはLFです。keyとvalueは = で結ばれ、空白を入れてはいけません(空白も文字列の一つとして認識します)。keyに予約語やC++ for CGIで使われる変数名、漢字を用いてはいけません。
#configure file img_dir=./img1 log_file=./test.log mode=true X=15 Y=20 log=trueプログラム
int gX,gY; string gImg_dir; bool gMode; InitProgram() { ConfFile *aConfFile; aConfFile = new ConfFile("prog.conf"); gX = GetValue("X",0); gY = GetValue("Y",0); gImg_dir = GetValue("img_dir","img"); gMode = GetValue("mode",false); delete aConfFile; } TermProgram() { ConfFile *aConfFile; aConfFile = new ConfFile("prog.conf"); SetValue("X",gX); SetValue("Y",gY); SetValue("img_dir",gImg_dir.c_str()); SetValue("mode",gMode); delete aConfFile; }