INI建立、读取、存贮.doc

上传人:cn****1 文档编号:543337334 上传时间:2023-06-20 格式:DOC 页数:8 大小:231KB
返回 下载 相关 举报
INI建立、读取、存贮.doc_第1页
第1页 / 共8页
INI建立、读取、存贮.doc_第2页
第2页 / 共8页
INI建立、读取、存贮.doc_第3页
第3页 / 共8页
INI建立、读取、存贮.doc_第4页
第4页 / 共8页
INI建立、读取、存贮.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《INI建立、读取、存贮.doc》由会员分享,可在线阅读,更多相关《INI建立、读取、存贮.doc(8页珍藏版)》请在金锄头文库上搜索。

1、在C中读写INI文件INI文件就是扩展名为“ini”的文件。在Windows系统中,INI文件是很多,最重要的就是“System.ini”、“System32.ini”和“Win.ini”。该文件主要存放用户所做的选择以及系统的各种参数。用户可以通过修改INI文件,来改变应用程序和系统的很多配置。但自从Windows 95的退出,在Windows系统中引入了注册表的概念,INI文件在Windows系统的地位就开始不断下滑,这是因为注册表的独特优点,使应用程序和系统都把许多参数和初始化信息放进了注册表中。但在某些场合,INI文件还拥有其不可替代的地位。本文就来探讨一下C是如何对INI进行读写操作

2、。 INI文件的结构 INI文件是一种按照特点方式排列的文本文件。每一个INI文件构成都非常类似,由若干段落(section)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键词(keyword)和一个等号,等号右边的就是关键字对应的值(value)。其一般形式如下: Section1 KeyWord1 = Valuel KeyWord2 = Value2 Section2 KeyWord3 = Value3 KeyWord4 = Value4 C和Win32 API函数 C并不像C,拥有属于自己的类库。C使用的类库是.Net框架为所有.Net程序开发提供的一个共有的类库.Net Fr

3、ameWork SDK。虽然.Net FrameWork SDK内容十分庞大,功能也非常强大,但还不能面面俱到,至少它并没有提供直接操作INI文件所需要的相关的类。在本文中,C操作INI文件使用的是Windows系统自带Win32的API函数WritePrivateProfileString()和GetPrivateProfileString()函数。这二个函数都位于“kernel32.dll”文件中。 我们知道在C中使用的类库都是托管代码(Managed Code)文件,而Win32的API函数所处的文件,都是非托管代码(Unmanaged Code)文件。这就导致了在C中不可能直接使用这些

4、非托管代码文件中的函数。好在.Net框架为了保持对下的兼容,也为了充分利用以前的资源,提出了互操作,通过互操作可以实现对Win32的API函数的调用。互操作不仅适用于Win32的API函数,还可以用来访问托管的COM对象。C中对Win32的API函数的互操作是通过命名空间“System.Runtime.InteropServices”中的“DllImport”特征类来实现的。它的主要作用是指示此属性化方法是作为非托管DLL的输出实现的。下面代码就是在C利用命名空间“System.Runtime.InteropServices”中的“DllImport”特征类申明上面二个Win32的API函数:

5、 C申明INI文件的写操作函数WritePrivateProfileString(): DllImport ( kernel32 ) private static extern long WritePrivateProfileString ( string section , string key , string val , string filePath ) ; 参数说明:section:INI文件中的段落;key:INI文件中的关键字;val:INI文件中关键字的数值;filePath:INI文件的完整的路径和名称。 C申明INI文件的读操作函数GetPrivateProfileStri

6、ng(): DllImport ( kernel32 ) private static extern int GetPrivateProfileString ( string section , string key , string def , StringBuilder retVal , int size , string filePath ) ; 参数说明:section:INI文件中的段落名称;key:INI文件中的关键字;def:无法读取时候时候的缺省数值;retVal:读取数值;size:数值的大小;filePath:INI文件的完整路径和名称。 下面是一个读写INI文件的类 pu

7、blic class INIClass public string inipath; DllImport(kernel32) private static extern long WritePrivateProfileString(string section,string key,string val,string filePath); DllImport(kernel32) private static extern int GetPrivateProfileString(string section,string key,string def,StringBuilder retVal,i

8、nt size,string filePath); / / 构造方法 / / 文件路径 public INIClass(string INIPath) inipath = INIPath; / / 写入INI文件 / / 项目名称(如 TypeName ) / 键 / 值 public void IniWriteValue(string Section,string Key,string Value) WritePrivateProfileString(Section,Key,Value,this.inipath); / / 读出INI文件 / / 项目名称(如 TypeName ) / 键 public string IniReadValue(string Section,string Key) StringBuilder temp = new StringBuilder(500); int i = GetPrivateProfileString(Section,Key,temp,500,this.inipath); return temp.ToString(); / / 验证文件是否存在 / / 布尔值 public bool ExistINIFile() return File.Exists(inipath); 以下这个类很好地址:http:/

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号