プログラムを書こう!

実務や自作アプリ開発で習得した役に立つソフトウェア技術情報を発信するブログ

Win32APIでINIファイルから値を取得する。

この記事は2018年11月03日に投稿しました。

f:id:paveway:20190914064630j:plain

目次

  1. はじめに
  2. INIファイルから値する
  3. おわりに

Win32/64 APIシステムプログラミング―32/64ビットの共存

Win32/64 APIシステムプログラミング―32/64ビットの共存

1. はじめに

こんにちは、iOSのエディタアプリPWEditorの開発者の二俣です。
今回は業務で使用しているWin32APIのお話です。

目次へ

2. INIファイルから値を取得する

Win32APIでINIファイルから値を取得するには、GetPrivateProfileString関数を使用します。

書式

DWORD GetPrivateProfileString(
    LPCTSTR lpAppName,       // セクション名
    LPCTSTR lpKeyName,       // キー名
    LPCSTR lpDefault,        // デフォルト値
    LPTSTR lpReturnedString, // 値を可貢納するバッファ
    DWORD nSize,             // バッファのサイズ
    LPCTTSTR lpFileName      // INIファイル名
);

引数

  • lpAppName
    キー名が所属しているセクション名
    NULLを指定すると、INIファイルのすべてのセクション名をバッファに格納します。
    大文字小文字は区別されません。

  • lpKeyName
    値を取得するキー名
    NULLを指定すると、INIファイルのすべてのキー名をバッファに格納します。
    大文字小文字は区別されません。

  • lpDefault
    INIファイルに指定したキー名がない場合、この値がバッファに格納されます。
    NULLは指定できません。
    また末尾に半角スペースがあると削除されます。

  • lpReturnedString
    値を格納するバッファ

  • nSize
    バッファのサイズ
    TCHAR単位で指定します。

  • lpFileName
    INIファイル名をフルパスで指定します。
    ファイル名のみ指定した場合、Windowsディレクトリ内を検索します。

戻り値
成功した場合、バッファに格納した文字数

INIファイルの形式

INIファイルは以下の形式で作成します。
行頭を";"で始めるとコメント行になります。

; コメント
[セクション1]
key11=value11
key12=value12
...

[セクション2]
key21=value21
key22=value22
...

[セクションn]
keyn=valuen
...

目次へ

3. おわりに

マイクロソフトはINIファイルではなく、レジストリの使用を推奨しています。
しかしレジストリを汚したくないなどの理由で、INIファイルを使用する機会はまだまだあると思います。

未経験から最短でエンジニア転職を目指す

猫でもわかるWindowsプログラミング 第4版 猫でもわかるシリーズ

猫でもわかるWindowsプログラミング 第4版 猫でもわかるシリーズ

紹介している一部の記事のコードはGitlabで公開しています。
興味のある方は覗いてみてください。

目次へ


私が勤務しているニューラルでは、主に組み込み系ソフトの開発を行っております。
弊社製品のハイブリッドOS Bi-OSは高い技術力を評価されており、特に制御系や通信系を得意としています。
私自身はiOSモバイルアプリウィンドウズアプリを得意としております。
ソフトウェア開発に関して相談などございましたら、お気軽にご連絡ください。

また一緒に働きたい技術者の方も随時募集中です。
興味がありましたらご連絡ください。

EMAIL : info-nr@newral.co.jp / m-futamata@newral.co.jp
TEL : 042-523-3663
FAX : 042-540-1688

目次へ