zoukankan      html  css  js  c++  java
  • c# 读写ini文件

    //在 Ini 文件中写数据
    [DllImport("kernel32")]
    private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);

    //读取 Ini 文件中的数据
    [DllImport("kernel32")]
    private static extern int GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);

    //读取所有Sections
    [DllImport("kernel32", EntryPoint = "GetPrivateProfileString")]
    private static extern uint GetPrivateProfileStringA(string section, string key, string def, Byte[] retVal, int size, string filePath);

    /// <summary>
    /// 创建Ini文件,并写入数据
    /// </summary>
    /// <param name="section">根节点</param>
    /// <param name="key">键</param>
    /// <param name="val">值</param>
    /// <param name="filePath">路径</param>
    public static void WriteIniData(string section, string key, string val, string filePath)
    {
      if (!File.Exists(filePath))
      {
        var fs = File.Create(filePath);
        fs.Dispose();
        fs.Close();
      }
      WritePrivateProfileString(section, key, val, filePath);
    }

    /// <summary>
    /// 读取 Ini 文件
    /// </summary>
    /// <param name="section">根节点</param>
    /// <param name="key">键</param>
    /// <param name="def">默认数据</param>
    /// <param name="retVal">返回数据</param>
    /// <param name="size">大小</param>
    /// <param name="filePath">路径</param>
    public static void ReadIniData(string section, string key, string def, StringBuilder retVal, int size, string filePath)
    {
      GetPrivateProfileString(section, key, def, retVal, size, filePath);
    }

    public static List<string> ReadAllSection(string filePath)
    {
      List<string> result = new List<string>();
      Byte[] buf = new Byte[65536];
      uint len = GetPrivateProfileStringA(null, null, null, buf, buf.Length, filePath);
      int j = 0;
      for (int i = 0; i < len; i++)
      {
        if (buf[i] == 0)
        {
          result.Add(Encoding.Default.GetString(buf, j, i - j));
          j = i + 1;
        }
      }
      return result;
    }

  • 相关阅读:
    游遍中国 —— 大街小巷、秘境与远方
    Batch Normalization 反向传播(backpropagation )公式的推导
    Batch Normalization 反向传播(backpropagation )公式的推导
    【社会/人文】概念的理解 —— 断舍离、饭(饭制版)
    【社会/人文】概念的理解 —— 断舍离、饭(饭制版)
    linux 线程的同步 一 (互斥量和信号量)
    linux find
    正则表达式30分钟入门教程-新
    linux sed命令详解 *****
    linux vim tutor
  • 原文地址:https://www.cnblogs.com/wangye520/p/8184361.html
Copyright © 2011-2022 走看看