如何在VC中实现配置文件(ini)的读写

如何在VC中实现配置文件(ini)的读写,第1张

配置文件在重要性不言而喻,在我们常用的软件中经常可以看到它的身影,它提供了程序初始化过程中一些常用的参数,并且可以手动的修改这些参数,因此使用起来非常的方便。常见的配置文件为*.ini文件。[小节名]关键字=值关键字=值……MFC为用户读取ini文件提供了几个函数,其中常用的几个函数分别如下:读取信息:GetPrivateProfileString和GetPrivateProfileInt写入信息:WritePrivateProfileString运用这几个函数就可以满足常用的对字符串和整数的读写 *** 作了。为了体现MFC的封装性以及方便使用,我们可以定义一个接口,即一个纯虚类。所有的方法都由这个接口继承而来。我们将这个纯虚类命名为CCfgFile,之后我们从这个纯虚类中继承一个类(CIniFile)用来实现对ini文件的读取。以后若是需要一些更高级的方法可以再从CCfgFile继承出其他的类来实现。这样我们就可以利用CIniFile类中定义的函数来 *** 纵ini文件了。在程序中我们需要 *** 作ini文件中一些常用的配置参数读写,我们可以定义一个参数类来实现,如CParam这里需要注意的是在程序中我们可能在很多地方都要实现配置参数的读写,我们不能在每个要使用的地方都通过new关键字来创建一个CParam对象。原因你懂的,呵呵!那么我们可以通过定义CParam的一个静态成员来实现,这个静态成员通过一个静态的成员函数来获取。

namespace Library.File

{

public class Ini

{

// 声明INI文件的写 *** 作函数 WritePrivateProfileString()

[System.Runtime.InteropServices.DllImport("kernel32")]

private static extern long WritePrivateProfileString(string section, string key, string val, string filePath)

// 声明INI文件的读 *** 作函数 GetPrivateProfileString()

[System.Runtime.InteropServices.DllImport("kernel32")]

private static extern int GetPrivateProfileString(string section, string key, string def, System.Text.StringBuilder retVal, int size, string filePath)

private string sPath = null

public Ini(string path)

{

this.sPath = path

}

public void Writue(string section, string key, string value)

{

// section=配置节,key=键名,value=键值,path=路径

WritePrivateProfileString(section, key, value, sPath)

}

public string ReadValue(string section, string key)

{

// 每次从ini中读取多少字节

System.Text.StringBuilder temp = new System.Text.StringBuilder(255)

// section=配置节,key=键名,temp=上面,path=路径

GetPrivateProfileString(section, key, "", temp, 255, sPath)

return temp.ToString()

}

}

}

开始调用函数。

// 写入ini

Ini ini = new Ini("C:/config.ini")

ini.Writue("Setting", "key1", "HELLO WORLD!")

ini.Writue("Setting", "key2", "HELLO CHINA!")

// 读取ini

Ini ini = new Ini("C:/config.ini")

string str1 = ini.ReadValue("Setting", "key1")

MessageBox.Show(str1)

二,在一些小的应用中,有时候不需要使用数据困这样大规模的数据管理工具,也很少进行数据的查询、修改等 *** 作,而仅用文件来存储数据。这时就需要使用。net中的文件 *** 作对象,如file、streamReader、streamWriter等。

1,使用File对象 *** 作文件

System.IO.File类提供了一系类的静态办法,完成对晚间的常用 *** 作,如新建、删除、拷贝、移动等

2,使用StreamWriter写入文件

在System.IO空间中定义了一个文件写入器对象StreamWriter,使用它可以以一种特定的编码向输出流中(Stream)写入字符。

3,使用SteamReader 读取文件

与streamWrite对应

文章转载自网管之家:http://www.bitscn.com/pdb/dotnet/201003/181956_2.html


欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/tougao/6041974.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-12
下一篇2023-03-12

发表评论

登录后才能评论

评论列表(0条)

    保存