Windows提供了几个可以读写ini文件的WINAPI
1. GetPrivateProfileInt() //从私有初始化文件获取整形值
2. GetPrivateProfileString() //从私有初始化文件获取字符串型值
3. GetProfileInt() //从win.ini获取整数值
4. GetProfileString() //从win.ini获取字符串值
5. WritePrivateProfileString() //写字符串到私有初始化文件
6. WriteProfileString() //写字符串到win.ini
例:
在工程下面放置了一个config.ini文件,内容如下:
[CHAEHOM]
ip=192.168.1.100
port=12345
写一段代码来读取ini文件中的ip和port字段的值。如下:
#include
#include
int main()
{
char ipAddr[16];
int portNo;
//读取“CHAEHOM”字段下“ip”的字符串值,若没有“CHAEHOM”字段或“ip”键,返回“127.0.0.1”,若有,将该值传给ipAddr...
GetPrivateProfileString("CHAEHOM", "ip", "127.0.0.1", ipAddr, 16, ".\\config.ini");
//读取“CHAEHOM”字段下“port”的整形值,若没有“CHAEHOM”字段或“port”键,返回10000给portNo,若有,将该值传给portNo...
portNo = GetPrivateProfileInt("CHAEHOM", "port", 10000, ".\\config.ini");
printf("ip: %s\nport: %d\n", ip, port);
system("pause");
return 0;
}
如果读取到config.ini文件,返回的是ip: 192.168.1.100 port: 12345
如果没读取到,返回的是ip: 127.0.0.1 port: 10000
GetPrivateProfileString返回获取的键值字符串的长度,GetPrivateProfileInt返回获取的键值。
DWORD WINAPI GetPrivateProfileString( __in LPCTSTR lpAppName, //ini文件中的一个字段名 __in LPCTSTR lpKeyName, //字段下的一个键名 __in LPCTSTR lpDefault, //无以上字段或键的时候就以此值代替 __out LPTSTR lpReturnedString, //返回该键的字符串型值 __in DWORD nSize, //接收的缓冲区大小 __in LPCTSTR lpFileName //完整的ini文件的路径 );
UINT WINAPI GetPrivateProfileInt( __in LPCTSTR lpAppName, //ini文件中的一个字段名 __in LPCTSTR lpKeyName, //字段下的一个键名 __in INT nDefault, //无以上字段或键的时候就以此值代替 __in LPCTSTR lpFileName //完整的ini文件的路径 );