计算机二级c语言

才智馆 人气:3.04W

计算机二级c语言

ini文件(即Initialization file),这种类型的文件中通常存放的是一个程序的初始化信息。ini文件由若干个节(Section)组成,每个Section由若干键(Key)组成,每个Key可以赋相应的值。读写ini文件实际上就是读写某个的Section中相应的Key的值,而这只要借助几个函数即可完成。

一、向ini文件中写入信息的函数

1. 把信息写入系统的文件

BOOL WriteProfileString(

LPCTSTR lpAppName, // 节的名字,是一个以0结束的字符串

LPCTSTR lpKeyName, // 键的名字,是一个以0结束的字符串。若为NULL,则删除整个节

LPCTSTR lpString // 键的值,是一个以0结束的'字符串。若为NULL,则删除对应的键

)

2. 把信息写入自己定义的文件

BOOL WritePrivateProfileString(

LPCTSTR lpAppName, // 同上

LPCTSTR lpKeyName, // 同上

LPCTSTR lpString, // 同上

LPCTSTR lpFileName // 要写入的文件的文件名。若该ini文件与程序在同一个目录下,也可使用相对

//路径,否则需要给出绝度路径。

)

如:

::WriteProfileString("Test","id","xym");

//在中创建一个Test节,并在该节中创建一个键id,其值为xym

::WritePrivateProfileString("Test","id","xym","d:vcEx1");

//在Ex1目录下的中创建一个Test节,并在该节中创建一个键id,其值为xym

//若文件与读写该文件的程序在同一个目录下,则上面语句也可写为:

::WritePrivateProfileString("Test","id","xym",".");

需要注意的是,C系列的语言中,转义字符''表示反斜线''。另外,当使用相对路径时,前的.号不能丢掉了。

二、从ini文件中读取数据的函数

1、从系统的文件中读取信息

(1) 读取字符串

DWORD GetProfileString(

LPCTSTR lpAppName, // 节名

LPCTSTR lpKeyName, // 键名,读取该键的值

LPCTSTR lpDefault, // 若指定的键不存在,该值作为读取的默认值

LPTSTR lpReturnedString, // 一个指向缓冲区的指针,接收读取的字符串

DWORD nSize // 指定lpReturnedString指向的缓冲区的大小

)

如:

CString str;

::GetProfileString("Test","id","Error",uffer(20),20);

(2) 读取整数

UINT GetProfileInt(

LPCTSTR lpAppName, // 同上

LPCTSTR lpKeyName, // 同上

INT nDefault // 若指定的键名不存在,该值作为读取的默认值

)

如使用以下语句写入了年龄信息:

::WriteProfileString("Test","age","25");

//在中创建一个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)

LPTSTR lpReturnedString, // 同1(1)

DWORD nSize, // 同1(1)

LPCTSTR lpFileName // 读取信息的文件名。若该ini文件与程序在同一个目录下,也可使用相

//对路径,否则需要给出绝度路径。

)

如:

CString str;

::GetPrivateProfileString("Test","id","Error",uffer(20),20,".");

或:

::GetPrivateProfileString("Test","id","Error",uffer(20),20,"d:vcEx1");

(2) 读取整数

UINT GetPrivateProfileInt(

LPCTSTR lpAppName, // 同上

LPCTSTR lpKeyName, // 同上

INT nDefault, // 若指定的键名不存在,该值作为读取的默认值

LPCTSTR lpFileName // 同上

)

如使用以下语句写入了年龄信息:

::WritePrivateProfileString("Test","age","25",".");

//在中创建一个Test节,并在该节中创建一个键age,其值为25

则可用以下语句读取age键的值: