- ベストアンサー
GetPrivateProfileStringでiniファイル読込む処理を詳しく知りたいのですが・・・
お世話になっています。 iniファイルを読込み、各変数に代入するC言語のDLLを作成したいのです。 このサイトの投稿や、MSDNなどにも載っていたのですが、 少し理解に苦しみます。 現在まで、理解した点がwindows.hのインクルードを 記述するところ辺りです。 iniファイルは下記のようなレイアウトです。 ---<mst.ini>---------------------------- [user] name=username ID=userid [pc] pcname=FMV ---------------------------------------- #include<windows.h>は記述することまでは 分かりましたが、以下から進みません。。。 GetPrivateProfileString("") 初心者で申し訳ありませんが、お助け願います。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。itohhといいます。 サンプルを載せておきます。 mst.iniファイル内の[user]セクションのnameキーの値を取得する。 DWORD dwLen=0; char strBuf[100]; dwLen = GetPrivateProfileString("user", // セクション名 "name", // キー名 "soushi_ni", // デフォルト値 strBuf, // 読み込んだ値を格納するエリア sizeof(strBuf), // 上記のエリアのサイズ "mst.ini" ); // iniファイル名 解説: iniファイル名をフルパスで指定しないとWindowsのディレクトリにあるものと判断されます。 Win9xなら「c:\windows」、WinNT系なら「c:\WinNT」。 [user]セクションのnameキーがないときは、デフォルト値で指定した値が設定させます。 復帰値「dwLen」は実際に設定した値(文字列)の長さが返されます。
その他の回答 (1)
- kazubon-X
- ベストアンサー率25% (5/20)
DWORD GetPrivateProfileString( LPCTSTR lpAppName, // []で囲まれたセクション名 例:"user"又は"pc" LPCTSTR lpKeyName, // keyの名前 例:"name" 又は"ID"又は "pcname"等 LPCTSTR lpDefault, // 上記のセクションやキーが無かった時にlpReturnedStringに返ってくる値 LPTSTR lpReturnedString, // 結果、この関数を呼び出した後に値が入っている 例:"username" 又は "userid" 又は "FMV"等 DWORD nSize, // lpReturnedStringの領域の大きさ(バイト数) LPCTSTR lpFileName // INIファイルの名前(フルパスでも入ります) ); 分からなかったら補足しますが・・・・
お礼
ありがとうございました。 何とかできました。 がんばります
補足
早速のお返事有難うございます。 DWORD GetPrivateProfileString("user","name",Default,Ret,255,"c:\mst.ini"); このような感じでしょうか?それで補足なのですが、"DWORD"とはなんでしょうか? お手数ですが、現在お返事を書いている場所が環境が無くて動かせない状態なので・・・ 宜しくお願いします。
お礼
ありがとうございました。 コンパイルしたところ、問題なく出来ました。 あとは、自力でがんばります。 助かりました。