首先介绍两个函数:
读取 ini 文件:
DWORD GetPrivateProfileString(
LPCTSTR lpAppName, // points to section name
LPCTSTR lpKeyName, // points to key name
LPCTSTR lpDefault, // points to default string
LPTSTR lpReturnedString, // points to destination buffer
DWORD nSize, // size of destination buffer
LPCTSTR lpFileName // points to initialization filename
);
LPCTSTR lpAppName, // points to section name
LPCTSTR lpKeyName, // points to key name
LPCTSTR lpDefault, // points to default string
LPTSTR lpReturnedString, // points to destination buffer
DWORD nSize, // size of destination buffer
LPCTSTR lpFileName // points to initialization filename
);
参数说明:
lpAppName :ini 文件中的一个字段名
lpKeyName :lpAppName 下的一个键名,也就是具体的变量名
lpDefault :如果没有其前两个参数值,则将此值赋给变量
lpReturnedString :接收INI文件中的值的CString对象,即目的缓存器
nSize :目的缓存器的大小
lpFileName :完整的INI文件路径名
写入ini 文件:
BOOL WritePrivateProfileString(
LPCTSTRlpAppName, // section name
LPCTSTRlpKeyName, // key name
LPCTSTRlpString, // string to add
LPCTSTRlpFileName // initialization file
);
参数说明:
LPCTSTRlpAppName, // section name
LPCTSTRlpKeyName, // key name
LPCTSTRlpString, // string to add
LPCTSTRlpFileName // initialization file
);
lpAppName :ini 文件中的一个字段名
lpKeyName :lpAppName 下的一个键名,也就是具体的变量名
lpString :是键值,也就是变量的值,必须为LPCTSTR或CString类型
lpFileName :完整的INI文件路径名
读取整型值:
UINT GetPrivateProfileInt(
LPCTSTRlpAppName, // section name
LPCTSTRlpKeyName, // key name
INTnDefault, // return value if key name not found
LPCTSTRlpFileName // initialization file name
);
实例:
写入:
CString StrName,Strtemp;
int nAge;
char filename[ 20 ] = "" ;
StrName = " jacky " ;
nAge = 13 ;
WritePrivateProfileString( " Student " , " Name " ,StrName, " res\\setting.ini " );
读取:
int nAge;
char filename[ 20 ] = "" ;
StrName = " jacky " ;
nAge = 13 ;
WritePrivateProfileString( " Student " , " Name " ,StrName, " res\\setting.ini " );
CString SName;
GetPrivateProfileString( " Student " , " Name " , " DefaultName " ,SName.GetBuffer( 100 ), 100 , " res\\setting.ini " );
SName.ReleaseBuffer();
MessageBox(SName);
GetPrivateProfileString( " Student " , " Name " , " DefaultName " ,SName.GetBuffer( 100 ), 100 , " res\\setting.ini " );
SName.ReleaseBuffer();
MessageBox(SName);