0

次のようなセクションを含む .ini ファイルがあります。

[Hai1]
Value1 = 1
Value2 = 2

[Hai2]
Value1 = 3
Value2 = 4

ここで、「value1 = 3」のような特定のキーを検索し、それが属する対応するセクション (この場合は「Hai2」) を取得する必要があります。GetPrivateProfileString を使用するには、最初にセクションが必要です。しかし、私の場合、キー値に基づいて特定のセクションを取得する必要があります。これを行う方法について何か考えはありますか?

4

2 に答える 2

1

INI ファイル パーサーが必要です。Boost ライブラリを使用できる場合は、Boost::PropertyTreeを参照してください。

于 2013-04-18T06:09:14.903 に答える
1

すべてのセクションを閲覧します。GetPrivateProfileSectionNames を介してセクション名を取得します。

char lpszReturnBuffer[4096];
DWORD nSize;     
nSize = sizeof(lpszReturnBuffer);

DWORD dwRet = GetPrivateProfileSectionNames(lpszReturnBuffer, nSize, lpszFileName);

while (strlen(lpszReturnBuffer)>0) 
{
    TRACE(lpszReturnBuffer);
    SearchForMyKeyValueInSection(lpszReturnBuffer);
    lpszReturnBuffer+= strlen(lpszReturnBuffer)+1;
}
于 2013-04-18T06:04:48.540 に答える