C#读写.ini文件

本文详细介绍了如何使用C#进行.ini配置文件的读写操作,包括利用GetPrivateProfileStr函数进行数据读取和文件写入的方法,适用于C#开发者进行程序配置管理。
摘要由CSDN通过智能技术生成
C#代码中要读写.ini文件,需要导入kernel32.dll中的GetPrivateProfileString和WritePrivateProfileString两个函数。

首先,介绍一下kernel32.dll。

kernel32.dll是Windows9x/Me中非常重要的32位动态链接库文件,属于内核级文件。

它控制着系统的内存管理、数据的输入输出操作和中断处理。

当Windows启动时,kernel32.dll就驻留在内存中特定的写保护区域,使别的程序无法占用这个内存区域。

接下来看一下GetPrivateProfileString和WritePrivateProfileString两个函数的原型。

DWORD GetPrivateProfileString(

LPCTSTR lpAppName, // section name

LPCTSTR lpKeyName, // key name

LPCTSTR lpDefault, // default string

LPTSTR lpReturnedString, // destination buffer

DWORD nSize, // size of destination buffer

LPCTSTR lpFileName // initialization file name

);

参数说明:

lpAppName

[in] 指针指向一个空终止字符串,指定包含密钥名节的名称。如果该参数为NULL,GetPrivateProfileString功能将文件复制到提供的缓冲区中的所有部分的名称。

C#中,读取和写入上级目录下的`Config.ini`文件通常需要利用`ConfigurationManager`类或`IniParser`库。如果你想要使用`System.Configuration`提供的功能,可以这样做: 1. **使用`ConfigurationManager`**: ```csharp using System.Configuration; // 获取上级目录路径(假设根目录是AppDomain.CurrentDomain.BaseDirectory) string parentDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ".."); // 定义配置文件的完整路径 string configFile = Path.Combine(parentDir, "Config.ini"); // 读取值 string myValue = ConfigurationManager.AppSettings["MyKey"]; // 写入值 if (ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None) != null) { Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); config.AppSettings.Settings["MyKey"].Value = "New Value"; config.Save(ConfigurationSaveMode.Modified); } ``` 2. **使用第三方库如IniParser**: 首先,你需要安装IniParser NuGet包。然后,按照以下步骤操作: ```csharp using IniParser; using IniParser.Model; // 读取 List<IniSetting> iniSettings = IniFile.LoadFromFile(parentDir + @"\Config.ini"); IniSetting setting = iniSettings.FirstOrDefault(s => s.Key == "MyKey"); string myValue = setting?.Value; // 写入 IniDocument iniDoc = new IniDocument(); IniSection settingsSection = iniDoc.Sections.Add("Settings"); settingsSection[myKey] = "New Value"; using (FileStream fs = File.CreateText(parentDir + @"\Config.ini")) { iniDoc.Write(fs); } ``` 记得处理可能出现的异常,并确保你有权限访问上级目录。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一苇渡江694

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值