rai002 @ ウィキ

WINAPI: ini ファイルの利用

最終更新:

rai002

- view
管理者のみ編集可

ini ファイルの利用



読み出し


int を返す
UINT GetPrivateProfileInt(
  LPCTSTR lpAppName,  // セクション名
  LPCTSTR lpKeyName,  // キー名
  INT nDefault,       // キー名が見つからなかった場合に返すべき値
  LPCTSTR lpFileName  // .ini ファイルの名前
);



lpAppName .ini ファイル内のセクションの名前を保持している、NULL で終わる文字列へのポインタを指定します。
lpKeyName キーの名前を保持している、NULL で終わる文字列へのポインタを指定します。
この関数は、このキーの値を取得します。
各キーの値は、文字列形式です。
GetPrivateProfileInt 関数は、この文字列を整数へ変換し、その整数を返します。
nDefault 指定したキーが .ini ファイル内で見つからなかったときに返すべき、既定の値を指定します。
lpFileName 初期化ファイルの名前を保持している、NULL で終わる文字列へのポインタを指定します。
ファイルのフルパス名を指定しなかった場合、システムは Windows ディレクトリ内でこのファイルを検索します。
戻り値 関数が成功すると、指定した .ini ファイルの指定したセクション内にある、指定したキーに関連付けられている文字列に相当する整数が返ります。
指定したキーが見つからない場合、nDefault パラメータで指定した既定の値が返ります。
キーの値が負の場合、0 が返ります。

char * を返す
DWORD GetPrivateProfileString(
  LPCTSTR lpAppName,        // セクション名
  LPCTSTR lpKeyName,        // キー名
  LPCTSTR lpDefault,        // 既定の文字列
  LPTSTR lpReturnedString,  // 情報が格納されるバッファ
  DWORD nSize,              // 情報バッファのサイズ
  LPCTSTR lpFileName        // .ini ファイルの名前
);

lpAppName .ini ファイル内のセクションの名前を保持している、NULL で終わる文字列へのポインタを指定します。
lpKeyName キーの名前を保持している、NULL で終わる文字列へのポインタを指定します。
この関数は、このキーの値を取得します。
各キーの値は、文字列形式です。
GetPrivateProfileInt 関数は、この文字列を整数へ変換し、その整数を返します。
lpDefault NULL で終わる既定の文字列へのポインタを指定します。
lpKeyName パラメータで指定したキーが .ini ファイル内に見つからなかった場合、GetPrivateProfileString 関数はこの既定の文字列を、lpReturnedString パラメータが指すバッファへコピーします。
lpDefault パラメータで NULL を指定することはできません。
半角スペースで終わる文字列を既定の文字列として指定することは避けてください。
この関数は、lpReturnedString パラメータが指すバッファへ文字列をコピーする際に、文字列の最後に NULL を追加しますが、このとき、文字列の最後にある任意の数の半角スペースは削除されます。
lpReturnedString 1 個のバッファへのポインタを指定します。関数から制御が返ると、このバッファに、取得した文字列が格納されます。
nSize lpReturnedString パラメータが指すバッファのサイズを、TCHAR 単位で指定します。
戻り値 関数が成功すると、バッファに格納された文字数が返ります(終端の NULL 文字は含まない)。
lpAppName と lpKeyName パラメータのどちらも NULL ではない場合、バッファのサイズが不足して、要求された文字列全体を格納できないと、文字列は途中で切り捨てられ、最後に 1 個の NULL 文字が追加され、戻り値は nSize-1 の値になります。
lpAppName または lpKeyName パラメータのどちらかが NULL の場合、バッファのサイズが不足して、要求された文字列全体を格納できないと、文字列は途中で切り捨てられ、最後に 2 個の NULL 文字が追加され、戻り値は nSize-2 の値になります。

書き出し


char * のみで int型は無い

BOOL WritePrivateProfileString(
  LPCTSTR lpAppName,  // セクション名
  LPCTSTR lpKeyName,  // キー名
  LPCTSTR lpString,   // 追加するべき文字列
  LPCTSTR lpFileName  // .ini ファイル
);

lpString ファイルに書き込むべき、NULL で終わる文字列へのポインタを指定します。
NULL を指定すると、この関数は、lpKeyName パラメータで指定されたキーを削除します。
戻り値 初期化ファイルへのコピーが成功すると、0 以外の値が返ります。
目安箱バナー