INI 文件操作
2015-03-11 16:40
246 查看
VC中用函数读写ini文件的方法
ini文件(即Initialization
file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组 成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。
一、向ini文件中写入信息的函数
1. 把信息写入系统的win.ini文件
BOOL WriteProfileString(
LPCTSTR
lpAppName, // 节的名字,是一个以0结束的字符串
LPCTSTR
lpKeyName, // 键的名字,是一个以0结束的字符串。若为NULL,则删除整个节
LPCTSTR
lpString //
键的值,是一个以0结束的字符串。若为NULL,则删除对应的键
)
2. 把信息写入自己定义的.ini文件
BOOL WritePrivateProfileString(
LPCTSTR
lpAppName, //
同上
LPCTSTR
lpKeyName, //
同上
LPCTSTR
lpString, //
同上
LPCTSTR
lpFileName //
要写入的文件的文件名。若该ini文件与程序在同一个目录下,也可使用相对
//路径,否则需要给出绝度路径。
)
如:
::WriteProfileString("Test","id","xym");
//在win.ini中创建一个Test节,并在该节中创建一个键id,其值为xym
::WritePrivateProfileString("Test","id","xym","d:\vc\Ex1\ex1.ini");
//在Ex1目录下的ex1.ini中创建一个Test节,并在该节中创建一个键id,其值为xym
//若Ex1.ini文件与读写该文件的程序在同一个目录下,则上面语句也可写为:
::WritePrivateProfileString("Test","id","xym",".\ex1.ini");
需要注意的是,C系列的语言中,转义字符'\'表示反斜线''。另外,当使用相对路径时,\前的.号不能丢掉了。
二、从ini文件中读取数据的函数
1、从系统的win.ini文件中读取信息
(1) 读取字符串
DWORD GetProfileString(
LPCTSTR
lpAppName, //
节名
LPCTSTR
lpKeyName, //
键名,读取该键的值
LPCTSTR
lpDefault, //
若指定的键不存在,该值作为读取的默认值
LPTSTR
lpReturnedString, //
一个指向缓冲区的指针,接收读取的字符串
DWORD
nSize //
指定lpReturnedString指向的缓冲区的大小
)
如:
CString str;
::GetProfileString("Test","id","Error",str.GetBuffer(20),20);
(2) 读取整数
UINT GetProfileInt(
LPCTSTR
lpAppName, //
同上
LPCTSTR
lpKeyName, //
同上
INT
nDefault //
若指定的键名不存在,该值作为读取的默认值
)
如使用以下语句写入了年龄信息:
::WriteProfileString("Test","age","25");
//在win.ini中创建一个Test节,并在该节中创建一个键age,其值为25
则可用以下语句读取age键的值:
int age;
age=::GetProfileInt("Test","age",0);
2、从自己的ini文件中读取信息
(1) 读取字符串
DWORD GetPrivateProfileString(
LPCTSTR
lpAppName, //
同1(1)
LPCTSTR
lpKeyName, //
同1(1)
LPCTSTR
lpDefault, //
同1(1)
ini文件(即Initialization
file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组 成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。
一、向ini文件中写入信息的函数
1. 把信息写入系统的win.ini文件
BOOL WriteProfileString(
LPCTSTR
lpAppName, // 节的名字,是一个以0结束的字符串
LPCTSTR
lpKeyName, // 键的名字,是一个以0结束的字符串。若为NULL,则删除整个节
LPCTSTR
lpString //
键的值,是一个以0结束的字符串。若为NULL,则删除对应的键
)
2. 把信息写入自己定义的.ini文件
BOOL WritePrivateProfileString(
LPCTSTR
lpAppName, //
同上
LPCTSTR
lpKeyName, //
同上
LPCTSTR
lpString, //
同上
LPCTSTR
lpFileName //
要写入的文件的文件名。若该ini文件与程序在同一个目录下,也可使用相对
//路径,否则需要给出绝度路径。
)
如:
::WriteProfileString("Test","id","xym");
//在win.ini中创建一个Test节,并在该节中创建一个键id,其值为xym
::WritePrivateProfileString("Test","id","xym","d:\vc\Ex1\ex1.ini");
//在Ex1目录下的ex1.ini中创建一个Test节,并在该节中创建一个键id,其值为xym
//若Ex1.ini文件与读写该文件的程序在同一个目录下,则上面语句也可写为:
::WritePrivateProfileString("Test","id","xym",".\ex1.ini");
需要注意的是,C系列的语言中,转义字符'\'表示反斜线''。另外,当使用相对路径时,\前的.号不能丢掉了。
二、从ini文件中读取数据的函数
1、从系统的win.ini文件中读取信息
(1) 读取字符串
DWORD GetProfileString(
LPCTSTR
lpAppName, //
节名
LPCTSTR
lpKeyName, //
键名,读取该键的值
LPCTSTR
lpDefault, //
若指定的键不存在,该值作为读取的默认值
LPTSTR
lpReturnedString, //
一个指向缓冲区的指针,接收读取的字符串
DWORD
nSize //
指定lpReturnedString指向的缓冲区的大小
)
如:
CString str;
::GetProfileString("Test","id","Error",str.GetBuffer(20),20);
(2) 读取整数
UINT GetProfileInt(
LPCTSTR
lpAppName, //
同上
LPCTSTR
lpKeyName, //
同上
INT
nDefault //
若指定的键名不存在,该值作为读取的默认值
)
如使用以下语句写入了年龄信息:
::WriteProfileString("Test","age","25");
//在win.ini中创建一个Test节,并在该节中创建一个键age,其值为25
则可用以下语句读取age键的值:
int age;
age=::GetProfileInt("Test","age",0);
2、从自己的ini文件中读取信息
(1) 读取字符串
DWORD GetPrivateProfileString(
LPCTSTR
lpAppName, //
同1(1)
LPCTSTR
lpKeyName, //
同1(1)
LPCTSTR
lpDefault, //
同1(1)
相关文章推荐
- INI文件格式及其操作代码
- VC++ 操作 ini 文件
- INI文件的操作
- VC INI文件操作(转)
- Ini 文件操作
- 使用Windows API操作配置(.ini)文件
- Symbian中操作ini文件
- ini文件操作
- 用Visual C++操作INI文件
- 【原创】用MASM32操作INI文件
- Symbian中操作ini文件
- 用Visual C++操作INI文件
- VC 操作 .ini 文件
- Win32汇编教程十三 INI 文件的操作
- 使用C#操作ini文件
- c++ 操作.ini 文件(适用平台linux windows)
- [DLL]模仿C++中INI文件代码操作习惯的XML配置文件类
- 在dotnet中操作INI文件
- Ini 文件操作(1)
- Win32汇编教程十三 INI 文件的操作 选择自 ghj1976 的 Blog