在c++/MFC中读取一个键并从.ini文件中获取该节

visual Reading a key and getting the section from .ini file in c++/MFC

本文关键字:ini 文件 获取 一个 MFC c++ 读取      更新时间:2023-10-16

我有一个.ini文件,其中的部分如下:

[Hai1]
Value1 = 1
Value2 = 2
[Hai2]
Value1 = 3
Value2 = 4

现在,我需要搜索一个特定的键,如"value1 = 3",并且必须获得它所属的相应部分,在本例中为"Hai2"。要使用GetPrivateProfileString,我们首先需要section。但在我的例子中,我需要基于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