在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"
原文地址:https://www.cnblogs.com/htj10/p/11741895.html
时间: 2024-10-13 09:34:30