C# 操作Ini文件

这篇具有很好参考价值的文章主要介绍了C# 操作Ini文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C# 操作Ini文件文章来源地址https://www.toymoban.com/news/detail-590033.html

public class IniHelper
 {
     [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
     private static extern uint GetPrivateProfileSectionNames(IntPtr lpszReturnBuffer, uint nSize, string lpFileName);
     [DllImport("kernel32")]
     private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

     [DllImport("kernel32.dll", CharSet = CharSet.Auto)]
     private static extern uint GetPrivateProfileString(string lpAppName, string lpKeyName, string lpDefault, [In, Out] char[] lpReturnedString, uint nSize, string lpFileName);

     [DllImport("kernel32")]
     private static extern int GetPrivateProfileString(string section, string key, string def,StringBuilder retVal, int size, string filePath);
     string path;
     public IniHelper(string path)
     {
         this.path = path;
     }
     /// <summary>
     /// 读取INI文件中所有节点名称(Section)
     /// </summary>
     /// <returns></returns>
     public string[] GetAllSections()
     {
         uint MAX_BUFFER = 32767;    //默认为32767
         string[] sections = new string[0];      //返回值
         //申请内存
         IntPtr pReturnedString = Marshal.AllocCoTaskMem((int)MAX_BUFFER * sizeof(char));
         uint bytesReturned = GetPrivateProfileSectionNames(pReturnedString, MAX_BUFFER, path);
         if (bytesReturned != 0)
         {
             //读取指定内存的内容
             string local = Marshal.PtrToStringAuto(pReturnedString, (int)bytesReturned).ToString();
             //每个节点之间用\0分隔,末尾有一个\0
             sections = local.Split(new char[] { '\0' }, StringSplitOptions.RemoveEmptyEntries);
         }
         //释放内存
         Marshal.FreeCoTaskMem(pReturnedString);
         return sections;
     }
     /// <summary>
     /// 读取指定Section下所有Key名称
     /// </summary>
     /// <param name="iniFile"></param>
     /// <param name="section"></param>
     /// <returns></returns>
     public string[] GetAllKeys(string section)
     {
         const int SIZE = 1024 * 10;    //默认为32767
         string[] value = new string[0];
         char[] chars = new char[SIZE];   //返回值
         uint bytesReturned = GetPrivateProfileString(section, null, null, chars, SIZE, path);
         if (bytesReturned != 0)
         {
             value = new string(chars).Split(new char[] { '\0' }, StringSplitOptions.RemoveEmptyEntries);
         }
         chars = null;
         return value;
     }
     /// <summary>
     /// Ini读取
     /// </summary>
     /// <param name="section"></param>
     /// <param name="key"></param>
     /// <param name="value"></param>
     public void Write(string section, string key, string value)
     {
         WritePrivateProfileString(section, key, value, path);
     }
     /// <summary>
     /// Ini写入
     /// </summary>
     /// <param name="section"></param>
     /// <param name="key"></param>
     /// <returns></returns>

     public string Read(string section, string key)
     {
         StringBuilder temp = new StringBuilder(255);

         GetPrivateProfileString(section, key, "", temp, 255, path);
         return temp.ToString();
     }
 }

到了这里,关于C# 操作Ini文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python 使用ConfigParser操作ini配置文件

    要求 : ini 文件必须是GBK编码,如果是UTF-8编码,python读取配置文件会报错。 说明: 1.注释内容用 “#” 或 “;” 引导; 2.章节用 “[]” 开头,每一个章节就是一个配置项; 3.配置值用 “=” ; 首先实例化配置解析对象: 常用操作方法:  

    2024年02月06日
    浏览(57)
  • python INI文件操作与configparser内置库

    目录 INI文件 configparser内置库 类与方法 操作实例 导入INI文件 查询所有节的列表 判断某个节是否存在 查询某个节的所有键的列表 判断节下是否存在某个键 增加节点 删除节点 增加节点的键 修改键值 保存修改结果 获取键值 获取节点所有键值 其他读取方式 从字串中读取 re

    2024年03月10日
    浏览(59)
  • mfc 动态加载dll库,Mat转CImage,读ini配置文件,鼠标操作,在edit控件上画框,调试信息打印

    h文件中添加 cpp文件中添加 左键按下弹起,右键按下弹起 TRACE(\\\"temp= %dn\\\", temp);

    2024年02月07日
    浏览(42)
  • C#文件操作——配置文件

    配置文件一般分为内置配置文和用户自定义配置文件。 内置配置文件包括app.config、web.config、Settings.settings等等。 用户自定义配置文件一般是将配置信息放到INI文件、XML文件或注册表中,配置信息一般包括程序设置,记录运行信息,保存控件的信息(比如位置,样式)。  

    2024年02月04日
    浏览(34)
  • ini配置文件

    ini文件是initialization file的缩写,即初始化文件,是widows系统配置文件所采用的存储格式。 文件扩展名: .ini ini配置文件的后缀名也不一定必须是.ini, 也可以是.cfg, .conf或者是.txt ini文件格式 ini配置文件由参数, 节, 注解组成 参数(parameter) 以键值对的形式存在 每个参数都有一个

    2024年02月03日
    浏览(49)
  • python读取ini文件

    python+pytest做接口测试时,通常需要把环境的配置信息(如不同环境的IP,数据库的连接信息等)保存在ini文件中,方便切换和维护。 这里来记录一下ini文件的读取方法。 #ini文件的读取依赖的包为 configparser。 这样config就会返回整个ini文件的内容。 [host] ;api_sit_url = https://api

    2024年02月12日
    浏览(46)
  • pytest.ini 文件说明

    pytest.ini 文件是用于配置 pytest 测试用例运行规则的文件。pytest.ini 配置文件支持的参数有以下几类: 匹配测试文件和测试函数的过滤参数 测试用例执行参数 测试报告输出参数 临时文件及路径参数 插件参数 以下是一些常见的 pytest.ini 配置参数及其用法示例: 匹配测试文件和

    2024年02月13日
    浏览(45)
  • C#文件读写操作 [详细]

    文件是存储在磁盘中的具有特定名称和目录路径的数据集合,当我们使用程序对文件进行读取或写入时,程序会将文件以数据流(简称流)的形式读入内存中。我们可以将流看作是通过通信路径传递的字节序列,流主要分为输入流和输出流,输入流主要用于从文件读取数据(

    2024年01月16日
    浏览(37)
  • C#中的文件操作

    在计算机当中,数据是二进制的形式存在的,文件则是用于存储这些数据的单位,因此在需要操作计算机中的数据时,需要对文件进行操作。 在程序开发过程中,操作变量和常量的时候,数据都是存储在内存中的,程序运行结束后会被全部删除。 所以当想要持续性保存相关

    2024年01月19日
    浏览(34)
  • 读写ini配置文件(C++)

    文章转载于:https://blog.csdn.net/weixin_44517656/article/details/109014236 如果我们程序没有任何配置文件时,这样的程序对外是全封闭的,一旦程序需要修改一些参数必须要修改程序代码本身并重新编译,这样很不好,所以要用配置文件,让程序发布后还能根据需要进行必要的配置;

    2024年02月08日
    浏览(61)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包