我有相当的部分的.ini文件:阅读的关键,正从.ini文件中的部分C++/MFC
[Hai1]
Value1 = 1
Value2 = 2
[Hai2]
Value1 = 3
Value2 = 4
现在,我需要寻找像“VALUE1特定的键= 3 “并且必须得到它所属的对应部分,在这种情况下是”Hai2“。要使用GetPrivateProfileString,我们首先需要该部分。但在我的情况下,我需要根据Key值获取特定部分。关于如何做到这一点的任何想法?
我有相当的部分的.ini文件:阅读的关键,正从.ini文件中的部分C++/MFC
[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
恐怕没有Win32函数为您执行此操作,但自己解析ini文件不应太难。 – 2013-04-18 06:43:59
@Michal Walz ...是的,我们没有任何API。我正在使用GetPrivateProfileSectionNames函数来获取所有部分名称,我有我的方法来获取基于键值的所需部分....谢谢。 – 2013-04-18 09:57:36