码迷,mamicode.com
首页 > 编程语言 > 详细

C++读写ini配置文件

时间:2019-10-26 10:42:28      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:空格   nbsp   区分大小写   大小写   eprof   复制   rgb   default   pat   

在Windows的VC下

例如:在D:\test.ini文件中

[Font]
name=宋体
size= 12pt
color = RGB(255,0,0)

上面的=号两边可以加空格,也可以不加

GetPrivateProfileInt()和GetPrivateProfileString()

[section]
key=string
      .
      .

获取integer
UINT GetPrivateProfileInt(
  LPCTSTR lpAppName,  // section name
  LPCTSTR lpKeyName,  // key name
  INT nDefault,       // return value if key name not found
  LPCTSTR lpFileName  // initialization file name
);

注意:lpAppName和lpKeyName不区分大小写,当获得integer <0,那么返回0。lpFileName  必须是绝对路径,因相对路径是以C:\windows
DWORD GetPrivateProfileString(
  LPCTSTR lpAppName,        // section name
  LPCTSTR lpKeyName,        // key name
  LPCTSTR lpDefault,        // default string
  LPTSTR lpReturnedString,  // destination buffer
  DWORD nSize,              // size of destination buffer
  LPCTSTR lpFileName        // initialization file name
);

注意:lpAppName和lpKeyName不区分大小写,若lpAppName为NULL,lpReturnedString缓冲区内装载这个ini文件所有小节的列表,若为lpKeyName=NULL,就在lpReturnedString缓冲区内装载指定小节所有项的列表。lpFileName  必须是绝对路径,因相对路径是以C:\windows\,
返回值:复制到lpReturnedString缓冲区的字符数量,其中不包括那些NULL中止字符。如lpReturnedString缓冲区不够大,不能容下全部信息,就返回nSize-1(若lpAppName或lpKeyName为NULL,则返回nSize-2

 例子:

    CString strCfgPath = _T("D:\\test.ini"); //注意:‘\\‘
    LPCTSTR lpszSection = _T("Font");
    int n = GetPrivateProfileInt(_T("FONT"), _T("size"), 9, strCfgPath);//n=12
    CString str;
    GetPrivateProfileString(lpszSection, _T("size"), _T("9pt"), str.GetBuffer(MAX_PATH), MAX_PATH, strCfgPath);
    str.ReleaseBuffer();//str="12pt"

    TCHAR buf[200] = { 0 };
    int nSize = sizeof(buf) / sizeof(buf[0]);
    GetPrivateProfileString(lpszSection, NULL, _T(""), buf, nSize, strCfgPath);
    // buf: "name\0size\0color\0\0"

 

C++读写ini配置文件

标签:空格   nbsp   区分大小写   大小写   eprof   复制   rgb   default   pat   

原文地址:https://www.cnblogs.com/htj10/p/11741895.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!