CSharp操作ini文件完美版_附带ini介绍
INI文件读写详解
LPCTSTR lpAppName, // 同1(1)
LPCTSTR lpKeyName, // 同1(1)
LPCTSTR lpDefault, // 同1(1)
LPTSTR lpReturnedString, // 同1(1)
INI文件的读写详解
INI文件读写 文章指数:0 CSDN Blog推出文章指数概念,文章指数是对Blog文章综合评分后推算出的,综合评分项分别是该文章的点击量,回复次数,被网摘收录数量,文章长度和文章类型;满分100,每月更新一次。
int i; //i指向数组chSectionNames的某个位置,从0开始,顺序后移
int j=0; //j用来保存下一个节名字符串的首地址相对于当前i的位置偏移量
int count=0; //统计节的个数
//CString name;
//char id[20];
//在Ex1目录下的ex1.ini中创建一个Test节,并在该节中创建一个键id,其值为xym
//若Ex1.ini文件与读写该文件的程序在同一个目录下,则上面语句也可写为:
::WritePrivateProfileString("Test","id","xym",".\\ex1.ini");
::GetPrivateProfileSectionNames(chSectionNames,2048,".\\ex1.ini");
for(i=0;i<2048;i++,j++)
C语言读取写入ini配置文件的方法实现
C语⾔读取写⼊ini配置⽂件的⽅法实现⽬录⼀、了解什么是INI⽂件?⼆、INI⽂件的格式三、解析上述⽂件四、测试如下⼀、了解什么是INI⽂件?ini ⽂件是Initialization File的缩写,即初始化⽂件,这是⽤来配置应⽤软件以实现不同⽤户的要求。
⼆、INI⽂件的格式INI⽂件由节、键、值组成。
⼀个简单的的INI⽂件例⼦如下:[Setting]INIT_FLAG=0;VOLUME=1;LANGUAGE=1;如上例⼦,[Setting]就是节,=号左边的值是键,=号右边的是值。
三、解析上述⽂件/*ini.h*/#ifndef INI_H#define INI_H#include <stdio.h>#include <string.h>int GetIniKeyString(char *title,char *key,char *filename,char *buf);int PutIniKeyString(char *title,char *key,char *val,char *filename);#endif /*INI_H*//*ini.c*/#include <stdio.h>#include <string.h>/** 函数名: GetIniKeyString* ⼊⼝参数: title* 配置⽂件中⼀组数据的标识* key* 这组数据中要读出的值的标识* filename* 要读取的⽂件路径* 返回值:找到需要查的值则返回正确结果 0* 否则返回-1*/int GetIniKeyString(char *title,char *key,char *filename,char *buf){FILE *fp;int flag = 0;char sTitle[64], *wTmp;char sLine[1024];sprintf(sTitle, "[%s]", title);if(NULL == (fp = fopen(filename, "r"))) {perror("fopen");return -1;}while (NULL != fgets(sLine, 1024, fp)) {// 这是注释⾏if (0 == strncmp("//", sLine, 2)) continue;if ('#' == sLine[0]) continue;wTmp = strchr(sLine, '=');if ((NULL != wTmp) && (1 == flag)) {if (0 == strncmp(key, sLine, strlen(key))) { // 长度依⽂件读取的为准sLine[strlen(sLine) - 1] = '\0';fclose(fp);while(*(wTmp + 1) == ' '){wTmp++;}strcpy(buf,wTmp + 1);return 0;}} else {if (0 == strncmp(sTitle, sLine, strlen(sTitle))) { // 长度依⽂件读取的为准flag = 1; // 找到标题位置}}}fclose(fp);return -1;}/** 函数名: PutIniKeyString* ⼊⼝参数: title* 配置⽂件中⼀组数据的标识* key* 这组数据中要读出的值的标识* val* 更改后的值* filename* 要读取的⽂件路径* 返回值:成功返回 0* 否则返回 -1*/int PutIniKeyString(char *title,char *key,char *val,char *filename){FILE *fpr, *fpw;int flag = 0;char sLine[1024], sTitle[32], *wTmp;sprintf(sTitle, "[%s]", title);if (NULL == (fpr = fopen(filename, "r")))return -1;// 读取原⽂件sprintf(sLine, "%s.tmp", filename);if (NULL == (fpw = fopen(sLine, "w")))return -1;// 写⼊临时⽂件while (NULL != fgets(sLine, 1024, fpr)) {if (2 != flag) { // 如果找到要修改的那⼀⾏,则不会执⾏内部的操作wTmp = strchr(sLine, '=');if ((NULL != wTmp) && (1 == flag)) {if (0 == strncmp(key, sLine, strlen(key))) { // 长度依⽂件读取的为准flag = 2;// 更改值,⽅便写⼊⽂件sprintf(wTmp + 1, " %s\n", val);}} else {if (0 == strncmp(sTitle, sLine, strlen(sTitle))) { // 长度依⽂件读取的为准flag = 1; // 找到标题位置}}}fputs(sLine, fpw); // 写⼊临时⽂件}fclose(fpr);fclose(fpw);sprintf(sLine, "%s.tmp", filename);return rename(sLine, filename);// 将临时⽂件更新到原⽂件}上述两个函数是简单的解析函数,因为ini⽂件有很多种解析⽅式,根据不同的需求解析也不同所以要进⾏修改⽐如我的注释符号是 “ ;”,所以我需要修改并且根据实际功能需求也可以进⾏进⼀步的封装四、测试如下ini样本⽂件/*test.ini*/[city]beijing = hello-beijingshanghai = hello-shanghai#information[study]highschool = xxxxuniversity = yyyytest.c程序/*test.c*/#include "ini.h"#include <stdio.h>int main(int argc, char const *argv[]){char buff[100];int ret;ret = GetIniKeyString("city","beijing","./test.ini",buff);printf("ret:%d,%s\n",ret,buff);ret = GetIniKeyString("study","highschool","./test.ini",buff);printf("ret:%d,%s\n",ret,buff);ret = PutIniKeyString("study","highschool","zzzz","./test.ini");printf("put ret:%d\n",ret);ret = GetIniKeyString("study","highschool","./test.ini",buff);printf("ret:%d,%s\n",ret,buff);return 0;}结果如下:ret:0,hello-beijingret:0,xxxxput ret:0ret:0,zzzz相应的test.ini的study段highschool项变成了zzzz.这⾥还要注意,section使⽤中⽂字符可能会⽆法识别!到此这篇关于C语⾔读取写⼊ini配置⽂件的⽅法实现的⽂章就介绍到这了,更多相关C语⾔读取写⼊ini 内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
Csharp控件详解
Csharp控件详解C#控件一览表前所未有的震撼(太详细了)C#控件及常用设计整理1、窗体1、常用属性(1)Name属性:用来获取或设置窗体的名称,在应用程序中可通过Name属性来引用窗体。
(2)WindowState属性:用来获取或设置窗体的窗口状态。
取值有三种:Normal(窗体正常显示)、Minimized(窗体以最小化形式显示)和Ma某imized(窗体以最大化形式显示)。
(3)StartPoition属性:用来获取或设置运行时窗体的起始位置。
(4)Te某t属性:该属性是一个字符串属性,用来设置或返回在窗口标题栏中显示的文字。
(5)Width属性:用来获取或设置窗体的宽度。
(6)Height属性:用来获取或设置窗体的高度。
(7)Left属性:用来获取或设置窗体的左边缘的某坐标(以像素为单位)。
(8)Top属性:用来获取或设置窗体的上边缘的y坐标(以像素为单位)。
(9)ControlBo某属性:用来获取或设置一个值,该值指示在该窗体的标题栏中是否显示控制框。
值为true时将显示控制框,值为fale时不显示控制框。
(10)Ma某imizeBo某属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最大化按钮。
值为true时显示最大化按钮,值为fale时不显示最大化按钮。
(11)MinimizeBo某属性:用来获取或设置一个值,该值指示是否在窗体的标题栏中显示最小化按钮。
值为true时显示最小化按钮,值为fale时不显示最小化按钮。
(12)AcceptButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按Enter键时就相当于单击了窗体上的该按钮。
(13)CancelButton属性:该属性用来获取或设置一个值,该值是一个按钮的名称,当按Ec键时就相当于单击了窗体上的该按钮。
(14)Modal属性:该属性用来设置窗体是否为有模式显示窗体。
如果有模式地显示该窗体,该属性值为true;否则为fale。
IniFile Ini操作
IniFile Ini操作分类:Delphi 2010-07-10 22:24 903人阅读评论(0) 收藏举报INI文件的结构如下[小节名]关键字=值uses IniFiles; {操作Ini文件需要引用TIniFile 的单元}常用的方法WriteString 写入字符串WriteInteger 写入数字WriteBool 写入布尔值ReadString 读取字符串值ReadInteger 读取数字ReadBool 读取布尔值ReadSections 读取小节列表ReadSection 读取某小节下关键字列表ReadSectionValues 读取某小节下所有内容列表,包括关键字和值写入view plaincopy to clipboardprint? .........10........20........30........40........50........60........70........80........90........100.......110.......120.......130.......140. (150)varF:TIniFile;beginF := TIniFile.Create('c:/A.ini'); //如果文件存在则打开,如果不存在,当向其中写入数据时,将创建ini文件F.WriteString('PersonInfo','姓名','张三');F.WriteInteger('PersonInfo','年龄',20);F.WriteBool('PersonInfo','婚否',False);end;varF:TIniFile;beginF := TIniFile.Create('c:/A.ini'); //如果文件存在则打开,如果不存在,当向其中写入数据时,将创建ini文件F.WriteString('PersonInfo','姓名','张三');F.WriteInteger('PersonInfo','年龄',20);F.WriteBool('PersonInfo','婚否',False);end;读取:读取方法的第三个参数表示,当读取失败时,返回的结果,view plaincopy to clipboardprint?varF:TIniFile;name:string;age:Integer;merry:Boolean;beginF := TIniFile.Create('c:/A.ini');name := F.ReadString('PersonInfo','姓名','无名氏'); //当读取失败时,返回'无名氏',否则返回读取的值age := F.ReadInteger('PersonInfo','年龄',20);merry := F.ReadBool('PersonInfo','婚否',False);end;varF:TIniFile;name:string;age:Integer;merry:Boolean;beginF := TIniFile.Create('c:/A.ini');name := F.ReadString('PersonInfo','姓名','无名氏'); //当读取失败时,返回'无名氏',否则返回读取的值age := F.ReadInteger('PersonInfo','年龄',20);merry := F.ReadBool('PersonInfo','婚否',False);end;读取小节的列表view plaincopy to clipboardprint?varF:TIniFile;List:TStringList;begintryList := TStringList.Create;F := TIniFile.Create('c:/A.ini');F.ReadSections(List); //将小节依次读取到List中ShowMessage(List.Text); //显示小节列表内容finallyList.Free;F.Free;end;end;varF:TIniFile;List:TStringList;begintryList := TStringList.Create;F := TIniFile.Create('c:/A.ini');F.ReadSections(List); //将小节依次读取到List中ShowMessage(List.Text); //显示小节列表内容finallyList.Free;F.Free;end;读取某小节下的关键字列表view plaincopy to clipboardprint?varF:TIniFile;List:TStringList;begintryList := TStringList.Create;F := TIniFile.Create('c:/A.ini');F.ReadSection('PersonInfo',List); //将小节依次读取到List中ShowMessage(List.Text); //显示'PersonInfo'小节下关键字列表内容finallyList.Free;F.Free;end;end;varF:TIniFile;List:TStringList;begintryList := TStringList.Create;F := TIniFile.Create('c:/A.ini');F.ReadSection('PersonInfo',List); //将小节依次读取到List中ShowMessage(List.Text); //显示'PersonInfo'小节下关键字列表内容finallyList.Free;F.Free;end;end;读取某小节下所有内容列表,包括关键字和值view plaincopy to clipboardprint?F:TIniFile;List:TStringList;begintryList := TStringList.Create;F := TIniFile.Create('c:/A.ini');F.ReadSectionValues('PersonInfo',List); //将小节依次读取到List中ShowMessage(List.Text); //读取某小节下所有内容列表,包括关键字和值finallyList.Free;F.Free;end;end;varF:TIniFile;List:TStringList;begintryList := TStringList.Create;F := TIniFile.Create('c:/A.ini');F.ReadSectionValues('PersonInfo',List); //将小节依次读取到List中ShowMessage(List.Text); //读取某小节下所有内容列表,包括关键字和值finallyList.Free;F.Free;end;end;其它常用方法EraseSection 删除某个小节DeleteKey 删除关键字SectionExists 判断某个章节是否存在ValueExists 判断某个小节下的某个关键字是否存在本文来自CSDN博客,转载请标明出处:/bdmh/archive/2009/05/04/4147104.aspx一、INI文件的结构:; 注释[小节名]关键字=值INI文件允许有多个小节,每个小节又允许有多个关键字,“=”后面是该关键字的值。
ini文件写法
ini文件写法
INI文件,全称初始化文件(Initialization File),是一种常用的配置文件格式,主要用于存储程序运行所需的配置信息。
INI 文件的写法相对简单,主要包括节(section)、键(key)和值(value)三个部分。
下面详细介绍INI文件的写法。
1. 节(section):INI文件中的配置信息通常按照功能或类别进行分组,这些分组就是节。
每个节都有一个唯一的名称,用方括号括起来。
2. 键(key):节中的配置信息需要用键来标识,键也有一个唯一的名称,用等号分隔。
键的名称可以是任意字符串,但建议使用有意义的英文单词或缩写。
3. 值(value):键所对应的具体配置信息就是值。
值可以是字符串、数字或其他数据类型。
4. 注释:INI文件中可以使用井号(#)表示注释,注释内容不会被解析。
5. 空行:INI文件中的空行会被忽略,可以用来分隔不同的配置信息。
6. 分行:如果一个值过长,需要分行显示,可以使用反斜杠实现。
7. 转义字符:INI文件中的转义字符需要使用双反斜杠表示。
8. 内置变量:INI文件中可以使用一些内置变量,
如%APPDATA%、%USERPROFILE%等,表示特定目录下的文件路径。
INI文件的基本写法包括节、键和值三个部分,可以通过组合这些基本元素来表示复杂的配置信息。
在实际使用中,可以根据需要创建多个节和键,以满足不同程序的配置需求。
ini文件用法 -回复
ini文件用法-回复Ini文件用法Ini文件是一种常见的配置文件格式,它被广泛应用于各种软件和操作系统中。
它的简洁和易于使用使得它成为配置文件的首选格式之一。
本文将逐步介绍ini文件的用法,并对其常见的操作进行详细解释。
I. 什么是Ini文件?Ini文件是一种普遍存在于Windows操作系统中的配置文件格式。
它由一系列节(section)和键值对(key-value pair)组成,用于存储和传递应用程序的配置信息。
Ini文件中的每个节都被方括号([])包围,而键值对则以键和值之间的等号(=)进行分隔。
II. Ini文件的基本语法一个基本的Ini文件由多个节组成,每个节都由方括号括起来。
每个节下面可以有多个键值对,键和值之间用等号连接。
例如:[section1]key1=value1key2=value2[section2]key3=value3key4=value4III. Ini文件的读写操作Ini文件常用于存储应用程序的配置信息。
在应用程序中,可以使用各种编程语言提供的函数或库来读取和写入Ini文件。
以下是一些常见的读写操作:1. 读取Ini文件读取Ini文件可以根据需要读取整个文件,或者只读取特定节或键的值。
大多数编程语言都提供了相应的函数或库来实现这些操作。
读取整个Ini 文件的示例代码如下:pythonimport configparserconfig = configparser.ConfigParser()config.read('config.ini')print(config.sections()) # 打印所有的节print(config['section1']['key1']) # 打印指定节的指定键的值上述示例代码使用了Python的configparser库来读取Ini文件。
configparser模块提供了ConfigParser类,它提供了简洁而强大的方法来读取和写入Ini文件。
ini文件的操作
delphi开发 ini文件使用详解:ini文件创建、打开、读取、写入操作。
ini文件常用作配置文件使用(1)INI文件的结构:[节点]关键字=值注:INI文件允许有多个节点,每个节点又允许有多个关键字,“=”后面是该关键字的值(类型有串、整型数值和布尔值。
其中字符串存贮在INI文件中时没有引号,布尔真值用1表示,布尔假值注释以分号“;”开头。
(2)INI文件的操作1、在Interface的Uses节增加IniFiles;2、在Var变量定义部分增加一行:inifile:Tinifile;然后,就可以对变量myinifile进行创建、写入等操作了。
procedureTForm1.FormCreate(Sender:TObject);varfilename:string;beginfilename:=ExtractFilePath(paramstr(0))+‘tmp.ini’;inifile:=TInifile.Create(filename);或filename:=getcurrentdir+ 'tmp.ini ';或inifile:=TInifile.Create(‘d:\tmp.ini’);3、打开INI文件:inifile:=Tinifile.create('tmp.ini'); //文件必须存在4、读取关键字的值:a:=inifile.Readstring('节点','关键字',缺省值);// string类型b:=inifile.Readinteger('节点','关键字',缺省值);// integer类型c:=inifile.Readbool('节点','关键字',缺省值);// boolean类型edit1.text:=inifile.Readstring('程序参数,'用户',‘’);checkbox1.checked:=inifile.Readbool('程序参数,'用户',checkbox1.checked);// boolean类型inifile.Readstring('程序参数,'用户',edit1.text);inifile.Readbool('程序参数,'用户',checkbox1.checked);其中[缺省值]为该INI文件不存在该关键字时返回的缺省值。
ini文件编写方法
ini文件编写方法一。
ini 文件是一种常见的配置文件格式,在很多软件和系统中都有广泛应用。
要编写一个好的 ini 文件,首先得搞清楚它的基本结构。
1.1 ini 文件通常由节(Section)和键值对(Key-Value Pair)组成。
节就像是一个个分类的文件夹,而键值对则是在这些文件夹里存放的具体信息。
比如说,[Settings] 这就是一个节的名称。
1.2 键值对呢,就是像“Key=Value”这样的形式。
比如说“FontSize=12”,“FontSize”是键,“12”就是值。
二。
在编写 ini 文件时,有一些要点得特别注意。
2.1 命名要清晰明了。
节名和键名都得让人一眼就能看出它是干啥的。
别整那些让人摸不着头脑的名字,不然回头自己都搞不清楚。
2.2 格式要规范。
每行一个键值对,别乱糟糟的,不然读起来就跟一团乱麻似的。
2.3 注释也很重要。
有时候给自己或者别人留个注释,说明一下这个键值是干啥用的,为啥这么设置,能省不少事儿。
三。
再来说说怎么修改和读取 ini 文件。
3.1 有很多编程语言都能处理 ini 文件。
比如说 Python 就有专门的库来读取和修改 ini 文件,用起来挺方便的。
3.2 但不管用啥方法,都得小心谨慎,别一不小心把重要的配置给改坏了,那可就麻烦大了。
编写 ini 文件虽然不算特别复杂,但也得用心去做,才能让它发挥应有的作用。
就像盖房子,基础打牢了,房子才能结实。
可别马马虎虎,不然到时候出了问题,就得返工,费时又费力!。
CSharp操作ini文件完美版_附带ini介绍
CSharp操作ini文件★Ini文件简介.ini 文件是Initialization File的缩写,即初始化文件。
是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了,但在某些情况,还是要直接编辑.ini才方便,一般只有很熟悉windows才能去直接编辑。
开始时用于WIN3X下面,WIN95用注册表代替,以及后面的内容表示一个节,相当于注册表中的键。
除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户的要求。
一般不用直接编辑这些.ini文件,应用程序的图形界面即可操作以实现相同的功能。
它可以用来存放软件信息,注册表信息,配置信息等。
★Ini文件格式INI文件由节、键、值组成。
(ini文件内容不区分大小写)节(段落)[section]参数(键=值)name=value注解注解使用分号(英文分号)表示(;)。
在分号后面的文字,直到该行结尾都全部为注解。
★示例以下为一个简单的ini文件(abc.ini)的内容(ini文件可以用记事本打开、修改)[Section1]KeyName1=value1KeyName2=value2;这里是注释[Section2 Name]KeyName21=value21KeyName22=value22其中:[Section1]、[Section2 Name]用来表示一个段落。
因为INI文件可能是项目中共用的,所以使用[段名]来区分不同用途的参数区。
例如:[Section1]表示传感器灵敏度参数区;[Section2 Name]表示测量通道参数区等等。
KeyName1=value1用来表示一个参数名和值。
比如:7033=50 7034=51 其中:7033表示某传感器名,50表示它的灵敏度值。
7034表示另一只传感器名,51表示它的灵敏度值。
ini的限制 小节
ini的限制小节ini配置文件(Initialization Initialization)是一种常见的配置文件格式,广泛应用于各类软件和系统的配置管理中。
ini文件采用键值对的方式存储配置信息,通常以 .ini 为文件扩展名。
ini的限制主要包括以下方面:1. 语法约束:ini文件的语法相对简单,主要由节(Section)和键值对(Key-Value)组成。
节用方括号括起来,键值对由键和值组成,中间用等号或冒号分隔。
键和值之间不能有空格或特殊字符。
同时,ini文件不支持注释功能,即不可以在文件中添加注释。
2. 键的唯一性:在一个节中,键是唯一的,重复的键会被后面的键值对覆盖。
这意味着无法通过ini文件来存储具有相同键的多个配置信息,因为后续的配置会覆盖前面的配置。
3. 不支持复杂数据类型:ini文件中的值只支持字符串类型,不支持其他复杂的数据类型,如数字、布尔值、日期等。
如果需要存储这些类型的数据,需要在读取和写入ini文件时进行类型转换。
4. 不支持嵌套结构:ini文件是一种扁平结构,不支持嵌套的节或键值对。
这就意味着无法存储层级较深的配置信息,对于复杂的配置需求,ini文件的表达能力有限。
5. 文件大小限制:ini文件的大小没有明确的限制,但由于存储的是纯文本配置信息,文件越大读取和解析的时间也会相应增加,对于大规模的配置管理可能不太适用。
总结:ini配置文件在使用上存在一些限制,包括语法约束、键的唯一性、不支持复杂数据类型、不支持嵌套结构和文件大小限制等。
了解这些限制能够帮助我们更好地使用ini文件进行配置管理,同时也可以考虑其他配置文件格式以满足更复杂的配置需求。
C#操作ini(读取、写入)
C#操作ini(读取、写⼊)C#操作ini(读取、写⼊)INI⽂件是⼀种按照特点⽅式排列的⽂本⽂件,该⽂件主要存放⽤户所做的选择以及系统的各种参数。
⽤户可以通过修改INI⽂件,来改变应⽤程序和系统的很多配置。
但⾃从Windows 95的退出,在Windows系统中引⼊了注册表的概念,INI⽂件在Windows系统的地位就开始不断下滑,这是因为注册表的独特优点,使应⽤程序和系统都把许多参数和初始化信息放进了注册表中。
但在某些场合,INI⽂件还拥有其不可替代的地位。
INI⽂件的结构INI⽂件是⼀种按照特点⽅式排列的⽂本⽂件。
每⼀个INI⽂件构成都⾮常类似,由若⼲段落(section)组成,在每个带括号的标题下⾯,是若⼲个以单个单词开头的关键词(keyword)和⼀个等号,等号右边的就是关键字对应的值(value)。
其⼀般形式如下:[Section1] KeyWord1 = Valuel KeyWord2 = Value2 ...... [Section2] KeyWord3 = Value3 KeyWord4 = Value4[DllImport("kernel32")]private static extern int GetPrivateProfileString(string section, string key, string defVal, StringBuilder retVal, int size, string filePath);注:section:要读取的段落名key: 要读取的键defVal: 读取异常的情况下的缺省值retVal: key所对应的值,如果该key不存在则返回空值size: 值允许的⼤⼩filePath: INI⽂件的完整路径和⽂件名[DllImport("kernel32")]private static extern long WritePrivateProfileString(string section, string key, string val, string filePath);注:section: 要写⼊的段落名key: 要写⼊的键,如果该key存在则覆盖写⼊val: key所对应的值filePath: INI⽂件的完整路径和⽂件名/// <summary>/// 读取INI⽂件/// </summary>/// <param name="section">项⽬名称(如 [section] )</param>/// <param name="skey">键</param>/// <param name="path">路径</param>public string IniReadValue(string section, string skey, string path){StringBuilder temp = new StringBuilder(500);int i = GetPrivateProfileString(section, skey, "", temp, 500, path);return temp.ToString();}/// <summary>/// 写⼊ini⽂件/// </summary>/// <param name="section">项⽬名称</param>/// <param name="key">键</param>/// <param name="value">值</param>/// <param name="path">路径</param>public void IniWrite(string section, string key, string value,string path) {WritePrivateProfileString(section, key, value, path); }测试://创建⼀个test.ini⽂件并在A段落写⼊姓名(key)=wlj(value)IniWrite("A","姓名","wlj","f:/test.ini")IniWrite("B","姓名","WZQ","f:/test.ini")test.ini⽂件的格式:ini模版:[A]姓名=wlj[B]姓名=WZQ//读取test.ini⽂件中A 段落键=姓名的值IniReadValue("A","姓名","f:/test.ini")//读取test.ini⽂件中A 段落中所有值IniReadValue("A",null,"f:/test.ini")//删除test.ini⽂件中A 段落中所有键(没有键,也就没有值了)IniWrite("A",null,null,"f:/test.ini")//删除test.ini⽂件中所有段落IniWrite(null,null,null,"f:/test.ini")。
ini文件用法
ini文件用法
INI文件是一种配置文件,通常用于存储应用程序或系统的配置信息。
INI文件由节(section)、键(key)和值(value)组成,通常采用“分节分条”的组织方式。
以下是INI文件的基本用法:
创建INI文件:首先需要创建一个INI文件,可以在文本编辑器中手动创建,也可以使用编程语言中的相关函数或库来创建。
添加节:在INI文件中,节是用来组织配置信息的区域,每个节都以方括号([])括起来。
可以在INI文件中添加多个节,以便对配置信息进行分类管理。
添加键和值:在每个节中,可以添加多个键值对。
键和值之间使用等号(=)分隔,并使用分号(;)表示注释。
例如,[section1] key1=value1; key2=value2。
读取INI文件:读取INI文件可以使用编程语言中的相关函数或库来实现。
根据INI文件的格式,逐行读取文件内容,并解析节、键和值。
修改INI文件:可以直接编辑INI文件来修改配置信息,也可以使用编程语言中的相关函数或库来读取和修改配置信息。
修改完成后,保存INI文件即可。
删除INI文件:如果不再需要INI文件,可以直接将其删除。
需要注意的是,删除INI文件可能会影响到应用程序或系统的正常运行。
需要注意的是,INI文件的语法比较简单,容易受到一些安全风险的影响。
因此,在读取和修改INI文件时,需要特别注意文件的来源和内容的合法性,以避免安全漏洞。
c#操作ini文件
无论在web还是在窗体程序的时候,可能都需要配置文件来保存一些数据,比如登陆QQ 的时候保存帐号密码,网站的保存(网站使用的是cookie与本文无关),那么他们是怎么保存的呢?其实就是创建文件,文字流写入进文件。
就是这么简单。
有人会问,那数据不是不安全了么?我想里面保存的数据安不安全完全看你用什么方式来加密跟创建文件毫无关系。
那么接下来,就用简单的方式来操作配置文件的写法。
代码如下那么如果文件存在了怎么办?根据我现在的业务需求就是如果有配置文件那就读取配置文件的信息操作ini文件的时候我们需要调用win apiDllImport是最常见的就是使用它来调用WIN32的API,例如上面所示。
extern 修饰符用于声明在外部实现的方法。
extern 修饰符的常见用法是在使用Interop 服务调入非托管代码时与DllImport 属性一起使用。
INI文件格式是某些平台或软件上的配置文件的非正式标准,以节(section)和键(key)构成,常用于微软Windows操作系统中。
这种配置文件的文件扩展名多为INI,故名。
INI是英文“初始化”(initialization)的缩写。
正如该术语所表示的,INI文件被用来对操作系统或特定程序初始化或进行参数设置。
因为默认创建的是空的配置文件,我们先手动的添加一些东西,[config]的意识是节点名称,类似xml的的节点读取的方式这里的路径我们要写绝对路径,系统要求的,相对路径会查不到。
好了运行后我们会得到UserID这个key的value的值可以试一试哟那么有读取了,上图是读取一个节点,那么如果很多节点写起来就麻烦了很多,我们把这个读的方法抽取出来读取的方式我们搞定了,那么我们来画个窗体做写入事件。
写入的系统函数写入的系统函数写入的系统函数写入方法写入也搞定了,那在窗体界面上我们看到了有一个单选框是否保存密码,大家应该知道怎么做了吧?就到这里~~有问题可以回复,有时间就解答。
INI文件格式及其操作代码
INI⽂件格式及其操作代码INI⽂件格式如下:[Database]server=wlqdatabase=mydatabaseuid=sapwd=123456说明:(有4个key)Section为:DatabaseKey为:server database uid pwd/***************代码******************/using System;using System.IO;using System.Runtime.InteropServices;using System.Text;namespace Sx_Mdi{/// <summary>/// Summary description for Class1./// </summary>public class IniFile{//⽂件INI名称public string Path;////声明读写INI⽂件的API函数[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⽂件名public IniFile(string inipath){//// TODO: Add constructor logic here//Path = inipath;}//写INI⽂件public void IniWriteValue(string Section,string Key,string Value){WritePrivateProfileString(Section,Key,Value,this.Path);}//读取INI⽂件指定public string IniReadValue(string Section,string Key){StringBuilder temp = new StringBuilder(255);int i = GetPrivateProfileString(Section,Key,"",temp,255,this.Path);return temp.ToString();}}}操作范例:public static SqlConnection MyConnection(){string sPath;string ServerName,userId,sPwd,DataName;sPath = GetPath();IniFile ini = new IniFile(sPath);ServerName = ini.IniReadValue ("Database","server");userId = ini.IniReadValue ("Database","uid");sPwd = ini.IniReadValue ("Database","pwd");DataName = ini.IniReadValue ("Database","database");string strSql = "server =" + ServerName+";uid ="+ userId +";pwd =;database ="+ DataName; SqlConnection myConn=new SqlConnection(strSql); return myConn;}/***************代码******************/。
WCNSS_qcom_cfg.iniWIFI配置文件参数详细解析
WCNSS_qcom_cfg.iniWIFI 配置⽂件参数详细解析STA 相关的⼀般配置SCAN 相关配置参数含义最⼩值最⼤值默认值gNeighborLookupThreshold 1 触发roam scan 发⽣的条件在WCNSS_qcom_cfg.ini ⽂件中gNeighborLookupThreshold=78,表⽰当信号⼩于-78db 时将触发roam scan 。
0120RTSThreshold 主要⽤于解决"隐藏节点"问题的,参考WmmIsEnabled WMM 已启⽤:1 –启⽤, 仅QoS ,2 –启⽤, 但不启⽤QoS ,0 –⾃动,加⼊任何AP020BandCapability ⾸选频段,0:both ,1:2.4G only , 2:5G only 021gTxBFEnable 启⽤Tx 波束成形1Intf0MacAddress 分配的MAC 地址-在插⼊NV 项⽬之前⼀直使⽤地点。
有4个,f0-f3gNumRxAnt 将1 x 1设置为默认天线配置。
122gNthBeaconFilter信标过滤频率(以信标间隔为单位)。
每个第N 个信标都会检查其内容的变化信标框架。
如果信标帧发⽣变化,帧被转发到主机。
25510McastBcastFilter ⽤于过滤多播和⼴播Rx 数据包的标志值:0-不过滤,1-过滤所有多播,2-过滤所有⼴播,3-过滤所有多播和⼴播030hostArpOffload 启⽤/禁⽤HostARPOffload 功能以卸载ARP 回复固件。
有关详细信息gEnableApProt 802.11n 保护标志gFixedRate固定传输数据速率;0表⽰⾃动速率调整。
0gDisableIntraBssFwd BSS 内部转发0g11dSupportEnabled 启⽤/禁⽤11d ⽀持011gNeighborScanTimerPeriod CCX ⽀持和快速过渡扫描中的单个通道3300200gShortGI20Mhz gShortGI40Mhz为HT20、HT40启⽤短保护间隔gAPAutoShutOffIf there is no activity for this period, then SAPdisconnectswith that STA. Enable/disable values are in seconds ⾃动关机值,以秒为单位。
net 6 ini文件的读写方法
net 6 ini文件的读写方法在.NET 6中,INI文件可以通过使用``命名空间中的类进行读写。
以下是一个简单的示例,演示如何读取和写入INI文件:首先,确保你的项目已经安装了``和``这两个NuGet包。
1. 读取INI文件:```csharpusing ;using ;class Program{static void Main(string[] args){IConfiguration config = new ConfigurationBuilder().AddIniFile("") // 指定INI文件路径.Build();string settingValue = config["section:key"]; // 读取section下的key值(settingValue);}}```在上面的代码中,我们使用了`ConfigurationBuilder`来构建配置,并添加了INI文件。
然后,通过键(section:key)来获取配置值。
2. 写入INI文件:为了写入INI文件,你需要先创建一个`IConfiguration`实例,然后使用`Save`方法保存配置。
这里有一个示例:```csharpusing ;using ;using ;using ;class Program{static void Main(string[] args){IConfiguration config = new ConfigurationBuilder().AddIniFile("", optional: true) // 指定INI文件路径,可选参数默认为false,设置为true则不会抛出异常当文件不存在时。
.Build();("", optional: true); // 可以同时从多个源加载配置,这里再添加一个JSON配置文件。
VC操作INI
用VC操作ini配置文件2009年02月13日星期五 10:27Windows操作系统专门为此提供了6个API函数来对配置设置文件进行读、写:GetPrivateProfileInt() 从私有初始化文件获取整型数值GetPrivateProfileString() 从私有初始化文件获取字符串型值GetProfileInt 从win.ini 获取整数值GetProfileString 从win.ini 获取字符串值WritePrivateProfileString 写字符串到私有初始化文件WriteProfileString 写字符串到win.ini我们可以把视图类的:OnInitialUpdate() 函数作为程序启动时读取配置文件的入口,配置文件的存储格式如下:[SECTION 1]XPos=300YPos=200[SECTION 2]Text=Hello仅有两个节,XPos和YPos标明了待显示信息的坐标,而待显示的信息存储在第二节的Text项中,用读取访问私有配置设置文件的API函数将其分别读入到变量m_nXPos,m_nYPos和m_strText中,并通过Invalidate()调用OnDraw()函数,在其内用TextOut函数将该信息在读取的坐标位置显示出来:m_nXPos=GetPrivateProfileInt("SECTION 1", //节名"XPos", //项名0, //没找到此项时的缺省返回值"C:\test\debug\test.ini"); //配置文件的准确路径m_nYPos=GetPrivateProfileInt("SECTION 1","YPos",0,exeFullPath);char buf[256];len=GetPrivateProfileString("SECTION 2", //节名"Text", //项名"No Text", //没找到此项时的返回值buf, //目标缓冲区地址256, //目标缓冲区长度"C:\test\debug\test.ini"); //配置文件的准确路径for(int i=0;i<len;i++){CString str;str.Format("%c",buf[i]);m_strText+=str;}Invalidate();一般配置文件是和应用程序存放在同一个目录中的如果用"C:\test\debug\test.ini"的绝对路径进行设置就会出现路径改变后找不到配置文件的问题,所以应动态搜寻配置文件的存放地址:Tchar exeFullPath[MAX_PATH]; // MAX_PATH在API中有定义,为128int len=GetModuleFileName(NULL,exeFullPath, //应用程序的全路径存放地址MAX_PATH);CString path="\test.ini"; //配置文件名::strcpy(exeFullPath+len-13,path); //组合出配置文件的全路径写配置文件也基本类似,只是需要把数值类型的变量格式化成字符串再行存储:str.Format("%d",m_nXPos);WritePrivateProfileString("SECTION 1","XPos",str,exeFullPath);str.Format("%d",m_nYPos);WritePrivateProfileString("SECTION 1","YPos",str,exeFullPath); WritePrivateProfileString("SECTION 2","Text",m_strText,exeFullPath);我们一定遇到过这样的程序:在执行过一遍以后,重启系统会自动加载该程序,其实除了在启动菜单和注册表添加信息外,也可以用 WriteProfileString()函数向win.ini的"windows"节的"run"项目添加应用程序的全路径来实现,这要比其它两种方法简便的多,而且也比较安全。
sharp AQUOS V使用說明書说明书
P前言i表內容第1章:操作入門 (1)1.1 部件名稱 (1)正視圖 (1)後視圖 (1)左視圖 (2)右視圖 (2)頂視圖 (3)底部視圖 (3)1.2 配件 (4)1.3 安裝SIM卡和存儲卡 (4)取下nanoSIM / microSD托盤 (4)安裝nanoSIM卡 (5)安裝內存(microSD)卡 (5)更換nanoSIM / microSD托盤 (5)1.4 給電池充電 (6)1.5 打開或關閉設備 (7)打開或關閉設備 (7)重啟設備 (7)將設備設置為飛航模式 (7)將設備設置為睡眠模式 (7)1.6 鎖定和解鎖螢幕 (8)1.7 使用耳機 (9)1.8 調整音量 (9)第2章:基礎知識。
(10)2.1 主螢幕 (10)狀態欄 (11)通知小組 (12)打開應用程式 (12)查看最近使用的應用程式 (12)控制面板 (13)小工具 (13)文件夾 (14)設置壁紙 (15)管理資源 (15)更改手機設置 (16)第3章:聯絡人 (17)3.1 添加聯絡人 (17)3.2 複製聯絡人 (18)3.3 與聯絡人通信 (18)呼叫聯絡人 (18)文字聯絡人 (18)電郵聯絡人 (19)3.4 管理聯絡人 (19)編輯聯絡人 (19)刪除聯絡人 (20)發送聯絡信息 (20)將聯絡人添加到黑名單 (20)3.5 喜愛的聯絡人 (21)查看收藏夾 (21)加入“最喜歡的 (21)從收藏夾中刪除 (21)3.6 正在搜索聯絡人 (22)第4章:使用電話 (23)4.1 打個電話 (23)4.2 接聽電話 (24)4.3 結束通話 (25)4.4 通話選項 (25)4.5 通話記錄 (26)第5章:電子郵件和消息 (27)5.1 簡訊 (27)創建和發送短信 (27)接收和管理消息 (27)刪除消息線程 (27)刪除所有消息線程 (27)5.2 多媒體消息 (29)創建和發送彩信 (29)5.3 自定義消息設置 (30)5.4 電郵帳戶 (32)設置電子郵件帳戶 (32)添加更多電子郵件帳戶 (33)選擇電子郵件帳戶 (34)刪除電子郵件帳戶 (34)5.5 使用Email (35)撰寫和發送電子郵件 (35)接收電子郵件 (35)閱讀和回復電子郵件 (36)管理電子郵件文件夾 (37)自定義電子郵件設置 (39)第6章:使用Internet (40)6.1 連接到Internet (40)無線上網 (40)蜂窩數據網絡 (42)6.2 瀏覽網頁 (43)管理網頁 (43)第7章:使用藍牙 (45)7.1 連接藍牙設備 (45)第8章:多媒體應用程式 (46)8.1 照片和視頻 (46)拍照 (46)錄製視頻 (47)捕捉模式 (48)查看照片 (49)查看視頻 (50)配置相機設置 (50)8.2 查看照片和視頻 (52)第9章:程序 (53)9.1 Chrome (53)9.2 計算器 (53)9.3 相機 (54)9.4 Gmail (54)9.5 檔案 (55)9.6 時鐘 (56)9.7 使用手電筒 (58)9.8 消息 (59)9.9 相片 (59)9.10 聯絡人 (59)9.11 手機 (59)9.12 設置 (59)9.13 日曆 (60)第10章:管理電話 (61)10.1 設備設置 (61)10.2 更改基本設置 (66)日期和時間 (66)顯示設置 (67)10.3 使用無線和網絡 (68)10.4 保護你的手機 (68)加密電話 (68)啟用SIM卡鎖定 (68)10.5 配置移動數據限制 (69)10.6 重置設備 (70)第11章:規格 (71)第1章:入門1.1 部件名稱正視圖後視圖趨近/光源感測器前鏡頭聽筒/揚聲器螢幕麥克風揚聲器USB Type C連接埠後相機LED燈指紋感應器左視圖右視圖nanoSIM/ micro SD托盤音量加/減鍵電源鍵頂視圖麥克風 3.5mm耳機孔底部視圖麥克風揚聲器USB Type C連接埠1.2 配件您的包裝附帶以下物品。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CSharp操作ini文件★Ini文件简介.ini 文件是Initialization File的缩写,即初始化文件。
是windows的系统配置文件所采用的存储格式,统管windows的各项配置,一般用户就用windows提供的各项图形化管理界面就可实现相同的配置了,但在某些情况,还是要直接编辑.ini才方便,一般只有很熟悉windows才能去直接编辑。
开始时用于WIN3X下面,WIN95用注册表代替,以及后面的内容表示一个节,相当于注册表中的键。
除了windows现在很多其他操作系统下面的应用软件也有.ini文件,用来配置应用软件以实现不同用户的要求。
一般不用直接编辑这些.ini文件,应用程序的图形界面即可操作以实现相同的功能。
它可以用来存放软件信息,注册表信息,配置信息等。
★Ini文件格式INI文件由节、键、值组成。
(ini文件内容不区分大小写)节(段落)[section]参数(键=值)name=value注解注解使用分号(英文分号)表示(;)。
在分号后面的文字,直到该行结尾都全部为注解。
★示例以下为一个简单的ini文件(abc.ini)的内容(ini文件可以用记事本打开、修改)[Section1]KeyName1=value1KeyName2=value2;这里是注释[Section2 Name]KeyName21=value21KeyName22=value22其中:[Section1]、[Section2 Name]用来表示一个段落。
因为INI文件可能是项目中共用的,所以使用[段名]来区分不同用途的参数区。
例如:[Section1]表示传感器灵敏度参数区;[Section2 Name]表示测量通道参数区等等。
KeyName1=value1用来表示一个参数名和值。
比如:7033=50 7034=51 其中:7033表示某传感器名,50表示它的灵敏度值。
7034表示另一只传感器名,51表示它的灵敏度值。
★C#操作ini文件完整代码并详细注释使用时,只需IniFunc.方法名(实参列表)即可using System;using System.Collections.Generic;using System.Text;using System.IO;using System.Runtime.InteropServices;namespace CommFunc{///<summary>///操作ini文件///</summary>public class IniFunc{///<summary>///读操作读取字符串///</summary>///<param name="section">要读取的段落名</param>///<param name="key">要读取的键</param>///<param name="defVal">读取异常的情况下的缺省值;如果Key值没有找到,则返回缺省的字符串的地址</param>///<param name="retVal">key所对应的值,如果该key不存在则返回空值</param>///<param name="size">返回值允许的大小</param>///<param name="filePath">INI文件的完整路径和文件名</param>///<returns></returns>[DllImport("kernel32")]private static extern int GetPrivateProfileString(string section, string key, string defVal, StringBuilder retVal, int size, string filePath);///<summary>///读操作读取整数///</summary>///<param name="lpAppName">指向包含Section 名称的字符串地址</param>///<param name="lpKeyName">指向包含Key 名称的字符串地址</param>///<param name="nDefault">如果Key 值没有找到,则返回缺省的值是多少</param>///<param name="lpFileName">INI文件的完整路径和文件名</param>///<returns>返回获得的整数值</returns>[DllImport("kernel32")]private static extern int GetPrivateProfileInt(string lpAppName, string lpKeyName, int nDefault, string lpFileName);///<summary>///写操作///</summary>///<param name="section">要写入的段落名</param>///<param name="key">要写入的键,如果该key存在则覆盖写入</param>///<param name="val">key所对应的值</param>///<param name="filePath">INI文件的完整路径和文件名</param>///<returns></returns>[DllImport("kernel32")]private static extern bool WritePrivateProfileString(string section, string key, string val, string filePath);///<summary>///获得整数值///</summary>///<param name="section">要读取的段落名</param>///<param name="key">要读取的键</param>///<param name="def">如果Key 值没有找到,则返回缺省的值是多少</param>///<param name="fileName">INI文件的完整路径和文件名</param>///<returns></returns>public static int GetInt(string section, string key, int def, string fileName){return GetPrivateProfileInt(section, key, def, fileName);}///<summary>///获得字符串值,默认返回长度为1024///</summary>///<param name="section">要读取的段落名</param>///<param name="key">要读取的键</param>///<param name="def">如果Key 值没有找到,返回的默认值</param>///<param name="fileName">INI文件的完整路径和文件名</param>///<returns></returns>public static string GetString(string section, string key, string def, string fileName){StringBuilder temp = new StringBuilder(1024);GetPrivateProfileString(section, key, def, temp, 1024, fileName);return temp.ToString();}///<summary>///获得字符串值,返回长度用户自定义///</summary>///<param name="section">要读取的段落名</param>///<param name="key">要读取的键</param>///<param name="def">如果Key 值没有找到,返回的默认值</param>///<param name="fileName">INI文件的完整路径和文件名</param>///<param name="size">用户自定义返回的字符串长度</param>///<returns></returns>public static string GetString(string section, string key, string def, string fileName, int size){StringBuilder temp = new StringBuilder();GetPrivateProfileString(section, key, def, temp, size, fileName);return temp.ToString();}///<summary>///写整数值///</summary>///<param name="section">要写入的段落名</param>///<param name="key">要写入的键,如果该key存在则覆盖写入</param>///<param name="iVal">key所对应的值</param>///<param name="fileName">INI文件的完整路径和文件名</param>public static void WriteInt(string section, string key, int iVal, string fileName){WritePrivateProfileString(section, key, iVal.ToString(), fileName); }///<summary>///写字符串的值///</summary>///<param name="section">要写入的段落名</param>///<param name="key">要写入的键,如果该key存在则覆盖写入</param>///<param name="strVal">key所对应的值</param>///<param name="fileName">INI文件的完整路径和文件名</param>public static void WriteString(string section, string key, string strVal, string fileName){WritePrivateProfileString(section, key, strVal, fileName);}///<summary>///删除指定的key///</summary>///<param name="section">要写入的段落名</param>///<param name="key">要删除的键</param>///<param name="fileName">INI文件的完整路径和文件名</param>public static void DelKey(string section, string key, string fileName) {WritePrivateProfileString(section, key, null, fileName);}///<summary>///删除指定的段落///</summary>///<param name="section">要删除的段落名</param>///<param name="fileName">INI文件的完整路径和文件名</param>public static void DelSection(string section, string fileName){WritePrivateProfileString(section, null, null, fileName);}}}//本文ini介绍来自百度百科,代码属于自己整理并测试通过。