利用GetPrivateProfileString读取ini文件的字段

//INIClass读取类

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Runtime.InteropServices;

using System.IO;

using UnityEngine;

namespace cReadConfigFile

{

public class INIClass

{

public string inipath;

[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);

/// <summary>

/// 构造方法

/// </summary>

/// <param name="INIPath">文件路径</param>

public INIClass(string INIPath)

{

inipath = INIPath;

}

/// <summary>

/// 写入INI文件

/// </summary>

/// <param name="Section">项目名称(如 [TypeName] )</param>

/// <param name="Key">键</param>

/// <param name="Value">值</param>

public void IniWriteValue(string Section, string Key, string Value)

{

WritePrivateProfileString(Section, Key, Value, this.inipath);

}

/// <summary>

/// 读出INI文件

/// </summary>

/// <param name="Section">项目名称(如 [TypeName] )</param>

/// <param name="Key">键</param>

public string IniReadValue(string Section, string Key)

{

StringBuilder temp = new StringBuilder(500);

int i = GetPrivateProfileString(Section, Key, "100", temp, 500, this.inipath);

return temp.ToString();

}

/// <summary>

/// 验证文件是否存在

/// </summary>

/// <returns>布尔值</returns>

public bool ExistINIFile()

{

return File.Exists(inipath);

}

/// <summary>获得相应文件名所有名称

///

/// </summary>

/// <param name="srcPath">目录</param>

/// <param name="sFileName">对应文件</param>

/// <returns></returns>

/// <remarks></remarks>

public List<string> fFileList(

string srcPath)

{

List<string> fList = new List<string>();

// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组

string[] fileList = Directory.GetFiles(srcPath);

//‘添加相同的文件

foreach (string sItem in fileList)

{

if ("*.jpg *.bmp *.gif".IndexOf(sItem.Substring(sItem.Length-3,3)) > 0)

{

fList.Add(sItem);

}

}

return fList;

}

}

}

//应用实例

public Text tx;

INIClass iniCls;

void Start ()

{

iniCls = new INIClass(Application.dataPath+"/config.ini");

tx.text = iniCls.IniReadValue("Net", "port");

tx.text = iniCls.IniReadValue("Net", "LaunchID");

}

//ini文件的格式如下

[Net]

port=10006

LaunchID=Launch1

应用的时候不要加方括号[]

port是key

10006是value

时间: 2024-10-06 08:58:28

利用GetPrivateProfileString读取ini文件的字段的相关文章

C#读取ini文件的方法

最近项目用到ini文件,读取ini文件,方法如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Collections.Specialized; using System.IO; using System.Runtime.InteropServices; using System.Windows.Forms; namespace test{ /

Linux下读取Ini文件类

Linux下读取Ini文件类 最近项目上有需要读取Ini文件 所谓Ini文件也就是文本文档 并且以 //注释1 /*注释2 [Section] Key1=aaa Key2=bbb 这种形式存在的文档 自己编写了一个类  比较使用 简单 可以跨平台读写INI文件 头文件Ini.h #include <map> #include <string> using namespace std; #define CONFIGLEN 256 enum INI_RES { INI_SUCCESS,

利用XPath读取Xml文件

之所以要引入XPath的概念,目的就是为了在匹配XML文档结构树时能够准确地找到某一个节点元素.可以把XPath比作文件管理路径:通过文件管理路 径,可以按照一定的规则查找到所需要的文件:同样,依据XPath所制定的规则,也可以很方便地找到XML结构文档树中的任何一个节点. 不过,由于XPath可应用于不止一个的标准,因此W3C将其独立出来作为XSLT的配套标准颁布,它是XSLT以及我们后面要讲到的XPointer的重要组成部分. 在介绍XPath的匹配规则之前,我们先来看一些有关XPath的基

读取INI文件 - Delphi篇

程序经常需要读取一些用户设定值,怎么完成这个过程? B/S程序一般使用XML文件,而C/S程序则使用INI文件. 前篇<C#迁移之callXBFLibrary - 2(调用非托管DLL)>是C#读取INI的示例. 本篇介绍使用Delphi完成这个过程. 首先,引用单元. uses Windows, SysUtils, Classes, DB, ADODB, StrUtils, Forms, IniFiles; 其中"IniFiles"即是我们要引用的单元. 然后,定义类变量

QT仿照MFC读取INI文件(支持中文)

QT仿照MFC读取INI文件(支持中文) #include <QSettings> #include <QtGui> UINT SEGetPrivateProfileInt(LPCSTR lpAppName, LPCSTR lpKeyName,      INT nDefault, LPCSTR lpFileName) {     UINT nReturn = nDefault;     QString strDefault, strItem, strSection, strKey

bat 读取 ini 文件

bat 读取 ini 文件 参考链接:https://stackoverflow.com/questions/2866117/windows-batch-script-to-read-an-ini-file 这个 bat 支持 ini 的键值与=号之间存在空格,例如 key1 = value1 readini.bat: @if (@[email protected]) @end /* -- batch / JScript hybrid line to begin JScript comment

C++ 读取INI文件

Windows操作系统专门为此提供了6个API函数来对配置设置文件进行读.写: GetPrivateProfileInt() 从私有初始化文件获取整型数值GetPrivateProfileString() 从私有初始化文件获取字符串型值GetProfileInt 从win.ini 获取整数值GetProfileString 从win.ini 获取字符串值WritePrivateProfileString 写字符串到私有初始化文件WriteProfileString 写字符串到win.ini 我们

vs读取ini文件

读取string类型: DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefaut,LPSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName); 其中个参数的意思: LPCTSTR lpAppName ------- INI文件中的一个字段名 LPCTSTR lpKeyName -------- lpAppName 下的一个键名,也就是里面具

批处理读取ini文件

ini文件读取 使用方法:      inifile iniFilePath [section] [item] 例子: inifile c:\boot.ini 读取c:\boot.ini的所有[section] inifile c:\boot.ini "[boot loader]" 读取c:\boot.ini [boot loader]段的内容 inifile c:\boot.ini "[boot loader]" timeout 显示c:\boot.ini [bo