VC读取ini文件

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文件的路径
);

你可能感兴趣的:(coding,ini,winapi,windows,system)