cmn-clib(CommonLibraryForC)
C言語共通ライブラリ
 全て データ構造 ファイル 関数 変数 型定義 列挙型 列挙値 マクロ定義
CmnConfProperty.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'
 

関数

CmnConfPropertyCmnConfProperty_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まで。

著者
H.Kumagai
日付
2004-06-10
Revision
1.2

関数詳解

void CmnConfProperty_Free ( CmnConfProperty list)

プロパティ値取得

プロパティリストのメモリ領域を解放する。

引数
list(I) 解放するプロパティリスト
著者
H.Kumagai
char* CmnConfProperty_GetValue ( const CmnConfProperty list,
const char *  name 
)

プロパティ値取得

nameに指定されたプロパティ値をlistから取得する

引数
list(I) プロパティリスト(CmnConf_GetPropertyList関数の戻り値)
name(I) 取得するプロパティ名
戻り値
プロパティ値文字列へのポインタ。nameに該当が無い場合はNULLを返す。
著者
H.Kumagai
CmnConfProperty* CmnConfProperty_Load ( const char *  file)

プロパティリスト取得

プロパティファイルの読み込みを行い、 CmnConf_PropertyList構造体にプロパティリストを格納する。
プロパティリストの使用が終了したらCmnConf_FreePropertyList関数をコールし、 メモリ領域の解放を行うこと。

引数
file(I)プロパティ定義ファイル(フルパスで指定すること)
戻り値
取得したプロパティリスト(CmnConf_PropertyList)へのポインタ。
プロパティの取得に失敗した場合はNULLを返す。
著者
H.Kumagai