cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
|
プロパティファイル操作 共通関数 [詳解]
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include "cmnclib/Common.h"
#include "cmnclib/CmnConf.h"
#include "cmnclib/CmnString.h"
#include "cmnclib/CmnLog.h"
マクロ定義 | |
#define | PROP_BUF_SIZE 4096 /* プロパティファイル1行の最大文字数 */ |
#define | COMMENT_CHAR '#' /* コメント識別文字 */ |
#define | PAUSE_CHAR '=' /* プロパティ名と値の区切り文字 */ |
#define | RETURN_CHAR '\n' |
関数 | |
CmnConfProperty * | CmnConfProperty_Load (const char *file) |
プロパティリスト取得 [詳解] | |
void | CmnConfProperty_Free (CmnConfProperty *list) |
プロパティ値取得 [詳解] | |
char * | CmnConfProperty_GetValue (const CmnConfProperty *list, const char *name) |
プロパティ値取得 [詳解] | |
プロパティファイル操作 共通関数
プロパティファイルからのプロパティ取得と、 プロパティファイルへの書き込みを行う。
< プロパティファイルの書式>="">
・コメントは'#'形式。'#'から行末までがコメントとして扱われる。
・プロパティの書式は、Name = Valueの形式。
(Nameはプロパティ名、Valueはプロパティ値。)
・空白は無視される。以下の表現は全て有効である。
"Name=Value"
"Name = Value"
" Name = Value "
ただし、以下の表現の場合は、空白は空白として認識される。
"Na me=V a l u e"
・タブは使用不可
・プロパティ定義は、必ず1行で完結すること。
複数行にまたがる定義はみとめない。
・無効な書式での定義は無視される。(プロパティとして読み込まない)
・プロパティに重複があった場合は、より前に定義されているものが優先される
・一行に記述できる最大文字列長は4096Byteまで。
void CmnConfProperty_Free | ( | CmnConfProperty * | list | ) |
プロパティ値取得
プロパティリストのメモリ領域を解放する。
list | (I) 解放するプロパティリスト |
char* CmnConfProperty_GetValue | ( | const CmnConfProperty * | list, |
const char * | name | ||
) |
プロパティ値取得
nameに指定されたプロパティ値をlistから取得する
list | (I) プロパティリスト(CmnConf_GetPropertyList関数の戻り値) |
name | (I) 取得するプロパティ名 |
CmnConfProperty* CmnConfProperty_Load | ( | const char * | file | ) |
プロパティリスト取得
プロパティファイルの読み込みを行い、 CmnConf_PropertyList構造体にプロパティリストを格納する。
プロパティリストの使用が終了したらCmnConf_FreePropertyList関数をコールし、 メモリ領域の解放を行うこと。
file | (I)プロパティ定義ファイル(フルパスで指定すること) |