2013-04-18 73 views
0

我有相当的部分的.ini文件:阅读的关键,正从.ini文件中的部分C++/MFC

[Hai1] 
Value1 = 1 
Value2 = 2 

[Hai2] 
Value1 = 3 
Value2 = 4 

现在,我需要寻找像“VALUE1特定的键= 3 “并且必须得到它所属的对应部分,在这种情况下是”Hai2“。要使用GetPrivateProfileString,我们首先需要该部分。但在我的情况下,我需要根据Key值获取特定部分。关于如何做到这一点的任何想法?

+0

恐怕没有Win32函数为您执行此操作,但自己解析ini文件不应太难。 – 2013-04-18 06:43:59

+0

@Michal Walz ...是的,我们没有任何API。我正在使用GetPrivateProfileSectionNames函数来获取所有部分名称,我有我的方法来获取基于键值的所需部分....谢谢。 – 2013-04-18 09:57:36

回答

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; 
}