文档详情

INI文件格式与其读写相关内容.doc

发布:2017-07-06约9.41万字共16页下载文档
文本预览下载声明
VC中用函数读写ini文件的方法 原文地址 /ncre2/cpp/jiqiao082550499.html 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) LPTSTR lpReturnedString, // 同1(1) DWORD nSize, // 同1(1) LPCTSTR lpFileName // 读取信息的文件名。若该ini文件与程序在同一个目录下, // 也可使用相对路径,否则需要给出绝度路径。 ) 如: CString str; ::GetPrivateProfileString( Test, id, Error, str.GetBuffer(20), 20, .\\ex1.in
显示全部
相似文档