我有一个 .ini 文件,其中包含以下部分:
[Hai1]
Value1 = 1
Value2 = 2
[Hai2]
Value1 = 3
Value2 = 4
现在,我需要搜索一个特定的键,如“value1 = 3”,并且必须获取它所属的相应部分,在本例中为“Hai2”。要使用 GetPrivateProfileString,我们首先需要该部分。但就我而言,我需要根据 Key 值获取特定部分。关于如何执行此操作的任何想法?
我有一个 .ini 文件,其中包含以下部分:
[Hai1]
Value1 = 1
Value2 = 2
[Hai2]
Value1 = 3
Value2 = 4
现在,我需要搜索一个特定的键,如“value1 = 3”,并且必须获取它所属的相应部分,在本例中为“Hai2”。要使用 GetPrivateProfileString,我们首先需要该部分。但就我而言,我需要根据 Key 值获取特定部分。关于如何执行此操作的任何想法?
浏览所有部分。通过 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;
}
您需要一个 INI 文件解析器。如果您可以使用 Boost 库,请参阅Boost::PropertyTree