博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Unity3D】用C#读取INI配置文件
阅读量:5226 次
发布时间:2019-06-14

本文共 2351 字,大约阅读时间需要 7 分钟。

由于在C#并没有提供专门读取INI文件的API,所以需要间接调用C++的API来进行读取。

using System;  using System.Collections.Generic;  using System.Linq;  using System.Text;  using System.IO;    namespace 读写ini文件  {      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();            }               }      class Program      {          static void Main(string[] args)          {              string Current;                Current = Directory.GetCurrentDirectory();//获取当前根目录              Console.WriteLine("Current directory {0}", Current);              // 写入ini              Ini ini=new Ini(Current+"/config.ini");              ini.Writue("Setting","key1","hello word!");              ini.Writue("Setting","key2","hello ini!");              ini.Writue("SettingImg", "Path", "IMG.Path");              // 读取ini              string stemp = ini.ReadValue("Setting","key2");              Console.WriteLine(stemp);                     Console.ReadKey();          }               }  }

    想要删除INI中的section的话,可以这样调用:

WritePrivateProfileString(section,null,null,sPath) 想要删除INI中的key的话,可以这样调用:
WritePrivateProfileString(section,key,null,sPath)
 

转载于:https://www.cnblogs.com/qiuxiangmuyu/p/5826065.html

你可能感兴趣的文章
django的views里面的request对象详解大全
查看>>
oracle中anyData数据类型的使用实例
查看>>
C++对vector里面的元素排序及取任意重叠区间
查看>>
蓝桥杯题——包子凑数
查看>>
软件测试——性能测试总结
查看>>
sky1301测试总结 just before chip comes back
查看>>
12.4站立会议
查看>>
Sequelize为什么需要使用Migrations
查看>>
在Js中得到元素的子元素集合注意事项
查看>>
Spring MVC之DispatcherServlet初始化详解
查看>>
多线程篇-GCD-基本概念使用
查看>>
生成唯一的随机数
查看>>
尼玛某前辈把ant 工程 改成android studio工程然后上传了 对我来说 尼玛这玩意就和屎一样...
查看>>
SSM整合(精简版)
查看>>
各种xml文件约束,Eclipse用
查看>>
泰勒展开,傅里叶变换,拉普拉斯变换和Z变换的物理意义
查看>>
Java Concurrentmodificationexception异常原因和解决方法
查看>>
Python 面向对象(其四)
查看>>
客户端访问浏览器的流程
查看>>
Linux——ls
查看>>