工控编程吧

标题: 上位机MFC如何获得INI文件指定段的全部键名和键值 [打印本页]

作者: qq263946146    时间: 2019-8-2 16:10
标题: 上位机MFC如何获得INI文件指定段的全部键名和键值
对应的实现函数为GetPrivateProfileSection。例如例程中的点击函数使用的样子。
int nBufferSize = GetPrivateProfileSection(strSectionName, szBuffer, 65536, m_strFileName);
  1. void CGkbc8Dlg::OnButton2()
  2. {
  3.         CListCtrl* pList = (CListCtrl*)GetDlgItem(IDC_LIST);
  4.         pList->DeleteAllItems();

  5.         TCHAR szKey[1024] = {0};
  6.         CString strKey = _T("");
  7.         CString strKeyName = _T("");
  8.         CString strKeyValue = _T("");

  9.         TCHAR szBuffer[65536] = {0};

  10.         CString strSectionName = _T("");
  11.         GetDlgItemText(IDC_TEXT2, strSectionName);

  12.         //获得INI文件指定段的全部键名和键值
  13.         int nBufferSize = GetPrivateProfileSection(strSectionName, szBuffer, 65536, m_strFileName);

  14.         int nItem = 0;
  15.         for (int n = 0, i = 0; n < nBufferSize; n++)
  16.         {
  17.                 if (szBuffer[n] == 0)
  18.                 {
  19.                         szKey[i] = 0;
  20.                         strKey = szKey;

  21.                         strKeyName = strKey.Left(strKey.Find('='));
  22.                         strKeyValue = strKey.Mid(strKey.Find('=') + 1);

  23.                         pList->InsertItem(nItem, strKeyName);
  24.                         pList->SetItemText(nItem, 1, strKeyValue);

  25.                         i = 0;

  26.                         nItem++;
  27.                 }
  28.                 else
  29.                 {
  30.                         szKey[i] = szBuffer[n];

  31.                         i++;
  32.                 }
  33.         }
  34. }
复制代码
(, 下载次数: 1)