您的位置:首页 > 其它

使用API函数操作ini配置文件

2013-04-10 22:36 537 查看
INI文件是Windows系统中一类比较重要的文件,可以使用一些API函数直接对INI文件进行读写操作。

主要用三个函数就可以实现简单的INI文件读写功能,这三个函数是:

1)WritePrivateProfileString:可以在文件中添加字段,可以添加String也可以添加Int,返回值表示写入是否成功,函数原型为:

BOOL WritePrivateProfileString(
 	LPCWTSTR lpAppName, 	// 指向指定字段的字符串
 	LPCWTSTR lpKeyName, 	// 指向指定键的字符串
 	LPCWTSTR lpString,		// 指向指定值的字符串
 	LPCWTSTR lpFileName 	// 指向文件名称字符串
 );


2)GetPrivateProfileString:从文件中读取String类型的数据,返回值表示读出的字符串的长度,函数原型为:

DWORD GetPrivateProfileString(
 	LPCWTSTR lpAppName, 	//指向指定字段的字符串
 	LPCWTSTR lpKeyName, 	//指向键的字符串
 	LPCWTSTR lpDefault, 	//如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量
	LPWTSTR lpReturnedString, 	//存放INI文件中值的目的缓存区
 	DWORD nSize, 		//目的缓冲区的大小,以字节为单位
	LPCWTSTR lpFileName 	//指向INI文件名称的字符串
 );

3)GetPrivateProfileInt:从文件中读取Int类型的数据,返回值就是要读取的参数,函数原型为:

UINT GetPrivateProfileInt(
 	LPCWTSTR lpAppName, 	//指向指定字段的字符串
 	LPCWTSTR lpKeyName, 	//指向键的字符串
 	INT nDefault, 		//如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量
 	LPCWTSTR lpFileName 	//指向INI文件名称的字符串
 );



实例:

下边的例子使用这三个函数进行文件操作。得到的结果为:在appname.ini文件中写入如下数据,

[String]
FirstString=It all worked out okay.
[Int]
FirstInt=123

程序如下:

#include<iostream>
using namespace std;
#include <windows.h>

 int main(int argc, char* argv[]) 
{
	LPWSTR inBuf = new WCHAR[200];;
	int testInt1 = 0;
	int testInt2 = 0;

	//向INI文件中添加一些键值 
	WritePrivateProfileString (_T("String"), _T("FirstString"), _T("It all worked out okay."), _T(".\\appname.ini")); 
	WritePrivateProfileString (_T("Int"), _T("FirstInt"), _T("123"), _T(".\\appname.ini")); 

	//测试一下添加的正确性
	GetPrivateProfileString (_T("String"), _T("FirstString"), _T("Bogus Value: Get didn't work"), inBuf, 80, _T(".\\appname.ini")); 
	testInt1 = GetPrivateProfileInt(_T("Int"),_T("FirstInt"),2,_T(".\\appname.ini"));
	testInt2 = GetPrivateProfileInt(_T("Int"),_T("SecondInt"),2,_T(".\\appname.ini"));
	wcout<<inBuf<<endl;
	cout<<testInt1<<endl;
	cout<<testInt2<<endl;
	return 0; 
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: