C#中读写INI文件的方法例子
来源:互联网 发布:软件游戏开发学校 编辑:程序博客网 时间:2024/05/29 04:56
[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, int size, string filePath);
确认程序,ini文件都没有错误的情况,最后发现是ini文件编码的原因。
通常C#使用基于XML的配置文件,不过如果有需要的话,比如要兼顾较老的系统,可能还是要用到INI文件。
但C#本身并不具备读写INI文件的API,只有通过调用非托管代码的方式,即系统自身的API才能达到所需的目的。
对应读写的方法分别为GetPrivateProfileString和WritePrivateProfileString。
GetPrivateProfileString中的各参数:
lpAppName —— section的名称
lpKeyName —— key的名称
lpDefault —— 如果lpKeyName没有被找到的话,则将这个值复制到lpReturnedString中
lpReturnedString —— 用于返回结果的值
nSize —— lpReturnedString的字符长度
lpFileName —— INI文件名
WritePrivateProfileString中的各参数:
lpAppName —— section的名称
lpKeyName —— key的名称
lpString —— 与lpKeyName对应的值
lpFileName —— INI文件名
实际代码如下所示:
using System;
using System.Runtime.InteropServices;
using System.Text;
namespace INIDemo
{
class Program
{
static void Main(string[] args)
{
WritePrivateProfileString("Demo", "abc", "123", "c:\\demo.ini");
StringBuilder temp = new StringBuilder();
GetPrivateProfileString("Demo", "abc", "", temp, 255, "c:\\demo.ini");
Console.WriteLine(temp);
Console.ReadLine();
}
[DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
private static extern bool WritePrivateProfileString(
string lpAppName, string lpKeyName, string lpString, string lpFileName);
[DllImport("kernel32", CharSet = CharSet.Unicode, SetLastError = true)]
private static extern int GetPrivateProfileString(
string lpAppName, string lpKeyName, string lpDefault, StringBuilder lpReturnedString,
int nSize, string lpFileName);
}
}
程序运行后INI文件中的内容为:
[Demo]
abc=123
这是一种相对简单的方法,若是不想使用非托管方法,你也可以通过另一种比较麻烦的途径解决这个问题。
由于INI文件的格式是固定的,所以只要编写相应的解析程序就可以完成同样的读写功能,就是通常的字符串处理而已。
如果你不愿亲自动手的话,不要紧,已经有现成的程序——Cinchoo framework,可以为你实现你想作的事情。
然后一切又变得简单了。
- C#中读写INI文件的方法例子
- C#读写INI文件的方法
- c#读写INI文件方法
- VC中读写ini文件的方法
- VC中读写*.ini文件的方法
- C#中读写ini文件
- C#中读写ini文件
- C#中读写INI文件
- 读写ini文件的方法
- ini文件的读写方法
- C#中读写文件的例子
- 读写Ini文件的例子(Bubble)
- 在C#中如何读写INI文件
- C#中如何读写INI文件
- C#中如何读写INI文件
- 在C#中读写INI文件
- C#中读写INI文件总结
- C#中如何读写INI文件
- Mongodb 参数限制/阀值/
- POJ. 1005 I Think I Need a Houseboat(水 )
- 建立一个对象模型的时候,为什么要重写hashCode与equals方法
- c c++版eclipse如何编译java项目
- Leetcode 270 Closest Binary Search Tree Value
- C#中读写INI文件的方法例子
- NYOJ-1 A+B问题
- 常用正则表达式
- POJ.1003 Hangover ( 水 )
- 理解Python并发编程-PoolExecutor篇
- CentOS 7 安装 MySQL
- Unicode和UTF-8有何区别
- 阿里怎么发工资?自研薪酬管理系统首次曝光
- 【知识点】iOS证书的类型用法和申请介绍