【プログラミング】iniファイル


C#などの.NETでの開発では設定ファイルはXMLを使うことが多い気がしますが、iniファイルも現役で使えますよね。

私の場合、iniファイルの読み込み方法を知らなかったので、いつも手動でセクション探して、次の行をパラメータとして読み込むってのをやっていました。

ただ、本物のiniファイルの場合、パラメータの後ろにコメントを書いてもOKということが分かったので、Windowsでのiniファイル読み書きの方法をメモします。

以下のように関数を使うことで簡単にiniファイルから設定値を得ることができます。

【intで値を得たい場合】

UINT GetPrivateProfileInt(セクション名, キー名, キー名がない場合のデフォルト値, iniファイル名)

MSDN- GetPrivateProfileInt

【文字列で値を得たい場合】

DWORD GetPrivateProfileString(セクション名, キー名, デフォルト文字列, バッファポインタ, バッファサイズ, iniファイル名)

MSDN- GetPrivateProfileString

もし、doubleで取得したい場合は、文字列で取得してatof()などで変換すればよさそうですね。

item=1,2,3,4

のような値が入っている場合でも、文字列で取得してきてstrtok()で要素を分解してやれば取得できますね。

.NETのxml読み込み機能は色々不便を感じていたので、今後開発するアプリではiniファイルを扱うようにしようと思います。
(xml読み込みがもっと手軽にできるようになれば、設定ファイルはxmlで書きたいのが本音ですが。。。)


この記事をシェアする

    Mask_Siva

    北の試される大地に生息しているSEです。
    楽しみながらプログラムを作ったり、ゲームで遊んだりしています。

    コメントをお待ちしております

    HTMLタグは利用できません

    Advertising



    新品/中古ゲーム販売 通販ショップの駿河屋

    Twitter

    仮面被り過ぎ@コンプレックス大佐
    @Mask_Siva

    • 大丈夫。 まだ14時間もあるじゃないか。 6時間作業に使ってもお釣りがくるだろ? と言い聞かす。
      about 9時間 ago
    • 第2タスク消化完了 あと1つだけど、これが本丸 ちなみにそれが終わったらシャドウボクシングが待ってるんよ、、、
      about 9時間 ago
    • 1つ目終了! 2つ目は夜にならないと回収できない。 3つ目は時間との勝負。 今日明日は頑張って、明後日少し休むぞ!
      about 13時間 ago

    BGM

    蒼穹 - EP
    1 蒼穹 -angela

    ↓の再生ボタンで再生できます
    色々な楽曲を試聴したいなら
    >>>こちら<<<

    Nico Nico Community

    Calendar

    2021年4月
     123
    45678910
    11121314151617
    18192021222324
    252627282930 

    Archive

    My WIsh List

    Amazonで気になっている物をまとめています。

    「これは良かった!」「こっちの方がいいよ!」というものがあれば、教えてください<(_ _)>

    https://amzn.to/3oof0rZ