0

我有一个 .ini 文件,其中包含以下部分:

[Hai1]
Value1 = 1
Value2 = 2

[Hai2]
Value1 = 3
Value2 = 4

现在,我需要搜索一个特定的键,如“value1 = 3”,并且必须获取它所属的相应部分,在本例中为“Hai2”。要使用 GetPrivateProfileString,我们首先需要该部分。但就我而言,我需要根据 Key 值获取特定部分。关于如何执行此操作的任何想法?

4

2 回答 2

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 回答
1

您需要一个 INI 文件解析器。如果您可以使用 Boost 库,请参阅Boost::PropertyTree

于 2013-04-18T06:09:14.903 回答