| 
    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)プロパティ定義ファイル(フルパスで指定すること) |