读写INI文件的函数介绍
- 格式:doc
- 大小:31.50 KB
- 文档页数:2
在VC++中读写INI文件在VC++中读写INI文件在我们写的程序当中,总有一些配置信息需要保存下来,以便完成程序的功能,最简单的办法就是将这些信息写入INI文件中,程序初始化时再读入.具体应用如下:一.将信息写入.INI文件中.1.所用的WINAPI函数原型为:其中各参数的意义:LPCTSTR lpAppName 是INI文件中的一个字段名.LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名.LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的.LPCTSTR lpFileName 是完整的INI文件名.2.具体使用方法:设现有一名学生,需把他的姓名和年龄写入 c:\stud\student.ini 文件中.此时c:\stud\student.ini文件中的内容如下:[StudentInfo]Name=张三3.要将学生的年龄保存下来,只需将整型的值变为字符型即可:二.将信息从INI文件中读入程序中的变量.1.所用的WINAPI函数原型为:DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefault,LPTSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName);其中各参数的意义:前二个参数与 WritePrivateProfileString中的意义一样.lpDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.lpReturnedString : 接收INI文件中的值的CString对象,即目的缓存器.nSize : 目的缓存器的大小.lpFileName : 是完整的INI文件名.2.具体使用方法:现要将上一步中写入的学生的信息读入程序中.执行后 strStudName 的值为:"张三",若前两个参数有误,其值为:"默认姓名".3.读入整型值要用另一个WINAPI函数:UINT GetPrivateProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT nDefault,LPCTSTR lpFileName);这里的参数意义与上相同.使用方法如下:三.循环写入多个值,设现有一程序,要将最近使用的几个文件名保存下来,具体程序如下:1.写入:CString strTemp,strTempA;int i;int nCount=6;file://共有6个文件名需要保存for(i=0;i {strTemp.Format("%d",i);strTempA=文件名;file://文件名可以从数组,列表框等处取得.::WritePrivateProfileString("UseFileName","FileName"+strTemp,strTempA,"c:\\usefile\\usefile.ini");}strTemp.Format("%d",nCount);::WritePrivateProfileString("FileCount","Count",strTemp,"c:\\usefile\\usefile.ini");file://将文件总数写入,以便读出.2.读出:nCount=::GetPrivateProfileInt("FileCount","Count",0,"c:\\usefile\\usefile.ini");for(i=0;i {strTemp.Format("%d",i);strTemp="FileName"+strTemp;::GetPrivateProfileString("CurrentIni",strTemp,"default.fil",strTempA.GetBuffer(MAX_PATH),MAX_PATH,"c:\\usefile\\usefile.ini");file://使用strTempA中的内容.}补充四点:1.INI文件的路径必须完整,文件名前面的各级目录必须存在,否则写入不成功,该函数返回 FALSE 值.2.文件名的路径中必须为 \\ ,因为在VC++中, \\ 才表示一个 \ .3.也可将INI文件放在程序所在目录,此时 lpFileName 参数为: ".\\student.ini".4.从网页中粘贴源代码时,最好先粘贴至记事本中,再往VC中粘贴,否则易造成编译错误,开始时我也十分不解,好好的代码怎么就不对呢?后来才找到这个方法.还有一些代码中使用了全角字符如:<,\等,也会造成编译错误.。
bat读写ini文件的函数BAT脚本可以通过读写INI文件来记录和获取配置信息。
INI文件是一种常见的配置文件格式,在Windows系统中被广泛应用。
读取INI文件的函数:```setlocal EnableDelayedExpansionset 'INI_FILE=config.ini'set 'SECTION=[Section1]'set 'KEY=Key1'for /F 'usebackq delims=' %%a in ('%INI_FILE%') do ( set 'LINE=%%a'REM 去掉行首尾的空格和制表符set 'LINE=!LINE: =!'set 'LINE=!LINE: =!'set 'LINE=!LINE: =!'REM 如果是[section]行,则判断是否是要读取的sectionif '!LINE:~0,1!'=='[' (set 'CUR_SECTION=!LINE!'set 'CUR_SECTION=!CUR_SECTION:[=!'set 'CUR_SECTION=!CUR_SECTION:]=!'if '!CUR_SECTION!'=='!SECTION!' (set 'IN_SECTION=true') else (set 'IN_SECTION=false')) else (REM 不是[section]行,如果在要读取的section内,则判断是否是要读取的keyif '!IN_SECTION!'=='true' (for /F 'tokens=1,* delims==' %%b in ('!LINE!') do (set 'CUR_KEY=%%b'set 'CUR_VALUE=%%c'REM 去掉key和value的空格set 'CUR_KEY=!CUR_KEY: =!'set 'CUR_VALUE=!CUR_VALUE: =!'if '!CUR_KEY!'=='!KEY!' (echo !CUR_VALUE!)))))```该函数将INI文件中`[Section1]`内`Key1`的值打印出来。
vbsini读写''函数:设置ini值(ini路径,目标节点,目标键,目标值)''注:若ini文件不存在则创建;节点或键不存在则添加FunctionSetIniValue(path,sectionName,keyName,value)Dimfso,fileSetfso=CreateObject("Scripting.FileSystemObject") Setfile=fso.OpenTextFile(path,1,true)Dimline,cache,inSection,sectionExist,keyExist DoUntilfile.AtEndOfStreamline=file.ReadlineifStrComp(Trim(line),"["+sectionName+"]",1)=0Then inSection=TruesectionExist=TrueEndIfifinSectionAndLeft(LTrim(line),1)="["AndStrComp(Trim(line)," ["+sectionName+"]",1)<>0TheninSection=FalseIfNotkeyExistThencache=cache+keyName+"="+value+vbCrLfkeyExist=TrueEndIfEndIfifinSectionAndInStr(line,"=")<>0Thenss=Split(line,"=")IfStrComp(Trim(ss(0)),keyName,1)=0Thenline=ss(0)+"="+valuekeyExist=TrueEndIfEndIfcache=cache+line+vbcrlfLoopfile.CloseIfnotsectionExistThencache=cache+"["+sectionName+"]"+vbCrLf cache=cache+keyName+"="+value+vbCrLf ElseIfNotkeyExistThencache=cache+keyName+"="+value+vbCrLf EndIfSetfile=fso.OpenTextFile(path,2,True) file.Write(cache)file.CloseEndFunction''调用SetIniValue"C:\test.ini","Other","ccc","aaa"''读INI文件strIniFile="C:\test.ini"strTemp=ReadINI(strIniFile,"Other","ccc")MsgBox"ccc="&strTemp,vbInformation''read函数FunctionReadINI(FilePath,Bar,PrimaryKey) Dimfso,sReadLine,i,j,ssSetfso=CreateObject("Scripting.FileSystemObject") SetIniFile=fso.opentextfile(FilePath,1) DoUntilIniFile.atendofstreamsReadLine=IniFile.readlineIfsReadLine=""ThenIniFile.skiplineElseIfTrim(sReadLine)="["&Bar&"]"Then''找到小节名''查找该小节名下的键名DoUntilIniFile.atendofstreamsReadLine=IniFile.readline''读取小节名后的行j=InStr(sReadLine,"=")Ifj>0Then''小节名后的文本行存在IfInStr(Left(sReadLine,j),PrimaryKey)>0Then''从"="左边字符串找到键名ss=Trim(Right(sReadLine,Len(sReadLine)-InStr(sReadLine,"=")))''读取等号后的部分ExitDoEndIfEndIfLoopEndIfLoopIniFile.CloseSetfso=NothingReadINI=ssEndFunction。
ini配置文件的读写ini配置文件的读写很多时候,我们的程序运行前需要用户做一些相关的设置,而且我们总是需要把一些配置信息保存下来,那天一直在思考怎么解决这个问题,突然就想到了在一些软件安装目录下的ini文件,然后经过查找资料发现其实ini文件既方便又实用。
下面对其使用进行总结:一、将信息从ini文件中读取到变量中首先,看一个ini文件的示例。
[连接参数]IpServer=127.0.0.1DataBase=DB_TESTUserID=testPassword=123456;注释用英文分号以上就是一个简单的配置文档。
读取信息所用的函数为DWORD GetPrivateProfileString(LPCTSTR lpAppName, // section nameLPCTSTR lpKeyName, // key nameLPCTSTR lpDefault, // default stringLPTSTR lpReturnedString, // destination bufferDWORD nSize, // size of destination bufferLPCTSTR lpFileName // initialization file name);第一个参数为字段名,上例中的[连接参数];第二个参数键名,即变量名,上例中的IpServer、DataBase等等;第三个参数指,如果ini文件中没有前两个参数指定的字段名或键名,则将lpDefault的值赋给变量,也就是缺省值;第四个参数是接收ini文件中键名的值的CString对象,即目的缓存器;第五个参数是目的缓存器的大小;第六个参数是ini文件的完整路径。
如下:GetPrivateProfileString(L"连接参数",L"ipServer",L"127.0.0.1",ipStr.GetBuffer(MAX_PATH),MAX_PATH,curPath);在此额外说一点,一般来说ini文件和exe文件是放在一起的,所以这里涉及到当前路径的问题,该问题在本站《如何获取EXE可执行文件的所在路径》一文中讲得很清楚,而在此我用另一个全局函数也可以实现,假如我们的文件是配置.ini,则如下:CString curPath;//存储路径的CString对象AfxGetModuleFileName(AfxGetInstanceHandle(),curPath);curPath=curPath.Left(curPath.ReverseFind('\\'))+'\\';curPath.AppendFormat(L"配置.ini");或者还可以使lpFileName的值为:“.//配置.ini”来定位到当前目录(这种方法笔者还未测试)。
python ini文件操作例子```1. ini文件基本概念ini文件是一种配置文件,通常用于应用程序的设置和参数配置。
它是一种纯文本文件,可以使用配置项的形式存储数据。
配置项由键值对组成,每个配置项占用一行。
2. Python操作ini文件的方法Python中有多种操作ini文件的方法,这里我们介绍两种常用的库:`configparser`和`python-ini-parser」。
2.1 configparser库configparser是Python的标准库,用于处理ini文件。
下面是一个简单的例子:```pythonimport configparser#创建一个配置解析器对象config = configparser.ConfigParser()#读取ini文件config.read('example.ini')#获取配置项值section = 'example_section'key = 'example_key'value = config.get(section, key)print(f'{section}.{key}: {value}')#修改配置项值config.set(section, key, 'new_value')#写入ini文件with open('example.ini', 'w') as f:config.write(f)```2.2 python-ini-parser库python-ini-parser是一个轻量级的ini文件解析库,下面是一个简单的例子:```pythonfrom ini import Ini#创建一个Ini对象ini_file = 'example.ini'ini = Ini(ini_file)#获取配置项值section = 'example_section'key = 'example_key'value = ini.get(section, key)print(f'{section}.{key}: {value}')#修改配置项值ini.set(section, key, 'new_value')#写入ini文件ini.write(ini_file)```3.总结通过以上例子,我们可以看到Python操作ini文件的方法非常简单。
CC++关于如何读写ini配置⽂件(⼩结)我们可能经常⽤到配置⽂件ini⽂件来获取或者保存参数信息,在VC中其函数中主要⽤到的有:读取1. 读取字符DWORD GetPrivateProfileString(LPCTSTR lpAppName, // INI⽂件中的⼀个字段名[节名]可以有很多个节名LPCTSTR lpKeyName, // lpAppName 下的⼀个键名,也就是⾥⾯具体的变量名LPCTSTR lpDefault, // 如果lpReturnedString为空,则把个变量赋给lpReturnedStringLPTSTR lpReturnedString, // 存放键值的指针变量,⽤于接收INI⽂件中键值(数据)的接收缓冲区DWORD nSize, // lpReturnedString的缓冲区⼤⼩LPCTSTR lpFileName // INI⽂件的路径);2. 读取整型值 (返回值为读到的整)UINT GetPrivateProfileInt(LPCTSTR lpAppName, // INI⽂件中的⼀个字段名[节名]可以有很多个节名LPCTSTR lpKeyName, // lpAppName 下的⼀个键名,也就是⾥⾯具体的变量名INT nDefault, // 如果没有找到指定的数据返回,则把个变量值赋给返回值LPCTSTR lpFileName // INI⽂件的路径);写⼊1. 写⼊字符BOOL WritePrivateProfileString(LPCTSTR lpAppName, // INI⽂件中的⼀个字段名[节名]可以有很多个节名LPCTSTR lpKeyName, // lpAppName 下的⼀个键名,也就是⾥⾯具体的变量名LPCTSTR lpString, // 键值,也就是数据LPCTSTR lpFileName // INI⽂件的路径);2. 写⼊整型读写INI⽂件时相对路径和绝对路径都可以,根据实际情况选择 "..\\IniFileName.ini" // 这样的为相对路径 "D:\\IniFileName.ini" // 这样的为绝对路径MAX_PATH:是微软最⼤路径占的字节所设的宏 写⼊的ini⽂件分为:节、键名、键值 举个栗⼦: // XX.ini [串⼝配置] 波特率=19200有了理论,再看看实践的demo:写INI⽂件:LPTSTR lpPath = new char[MAX_PATH];strcpy(lpPath, "D:\\IniFileName.ini");WritePrivateProfileString("LiMing", "Sex", "Man", lpPath);WritePrivateProfileString("LiMing", "Age", "20", lpPath);WritePrivateProfileString("Fangfang", "Sex", "Woman", lpPath);WritePrivateProfileString("Fangfang", "Age", "21", lpPath);delete [] lpPath;INI⽂件如下:[LiMing]Sex=ManAge=20[Fangfang]Sex=WomanAge=21读INI⽂件:TCHAR FPath[128];::GetCurrentDirectory(MAX_PATH, FPath);strcat(FPath, ".\\Config.ini");CFile ConfigFile;if(!ConfigFile.Open(FPath, CFile::modeCreate||CFile::modeRead, NULL)){AfxMessageBox("打开Config.ini配置⽂件失败!!!");return FALSE;}ConfigFile.Close();LPTSTR lpPath = new char[MAX_PATH];LPTSTR LiMingSex = new char[6];int LiMingAge;LPTSTR FangfangSex = new char[6];int FangfangAge;strcpy(lpPath, "..\\IniFileName.ini");GetPrivateProfileString("LiMing", "Sex", "", LiMingSex, 6, lpPath);LiMingAge = GetPrivateProfileInt("LiMing", "Age", 0, lpPath);GetPrivateProfileString("Fangfang", "Sex", "", FangfangSex, 6, lpPath);FangfangAge = GetPrivateProfileInt("Fangfang", "Age", 0, lpPath);delete [] lpPath;配置⽂件中经常⽤到ini⽂件,在VC中其函数分别为:写⼊.ini⽂件:bool WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);读取.ini⽂件:DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefaut,LPSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName);读取整形值:UINT GetPrivateProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT nDefault,LPCTSTR lpFileName);其中个参数的意思:LPCTSTR lpAppName ------- INI⽂件中的⼀个字段名LPCTSTR lpKeyName -------- lpAppName 下的⼀个键名,也就是⾥⾯具体的变量名LPCTSTR lpString ---------是键值,也就是变量的值,必须为LPCTSTR或CString类型LPCTSTR lpFileName --------完整的INI⽂件路径名LPCTSTR lpDefaut ----------如果没有其前两个参数值,则将此值赋给变量LPSTR lpReturnedString --------接收INI⽂件中的值的CString对象,即接收缓冲区DWORD nSize ------接收缓冲区的⼤⼩例⼦:CString StrName,Strtemp;int nAge;StrName = "jacky";nAge = 13;WritePrivateProfileString("Student","Name",StrName,"c:\\setting.ini");结果:(INI⽂件中显⽰如下:)[Student]Name=jacky读取:CString SName;GetPrivateProfileString("Student","Name","DefaultName",SName.GetBuffer(MAX_LENGTH),MAX_LENGTH,"c:\\setting.ini");结果:SName = "jacky";这⾥需要注意点就是⽤完GetBuffer函数后⼀定要释放(⽤SName.ReleaseBuffer()函数),不然后⾯再⽤到SName 的其他⼦函数就会失灵。
python简单读写ini⽂件1、创建ini⽂件2、认识configparse类中基础⽅法cfg_obj = configparser.ConfigParser() #创建对象cfg_obj.read(conf_file_path) #读取配置⽂件sections = cfg_obj.sections()#获取配置⽂件中所有的section节点options = cfg_obj.options("default")#获取对应节点下的所有keyfor sec in sections:print(cfg_obj.options(sec))#可使⽤for循环获取ini⽂件中各个节点下的key值value = cfg_obj.get("default","path") #获取对应的valuecfg_obj.set("default","path111","value1111") #设置key和value到ini⽂件cfg_obj.add_section("default") #增加section到⽂件cfg_obj.remove_section("default") #移除section节点数据cfg_obj.remove_option("default","patha") #移除节点下的optionconfig_file_obj = open( conf_file_path,"w") #创建ini⽂件对象cfg_obj.write(config_file_obj) #写⼊⽂件judge_value_is_exist = cfg_obj.has_section("default") #判断section节点是否存在judge_value_is_exist2 = cfg_obj.has_option("default","path")#判断节点下的key是否存在3、封装,创建⼀个读取ini⽂件的⼯具类1)创建初始化函数class ConfigUtils:def __init__(self,config_file_path):self.cfg_path = config_file_pathself.cfg =configparser.ConfigParser()self.cfg.read(self.cfg_path)2)创建读取配置⽂件值的⽅法def read_value(self,section,key):value = self.cfg.get(section,key)return value3)创建写⼊配置⽂件的⽅法def write_value(self,section,key,value):self.cfg.set( section,key,value )config_file_obj = open( self.cfg_path , "w")self.cfg.write(config_file_obj)config_file_obj.flush()config_file_obj.close()cfg_obj.set("default","path111","value1111")。
python-ini⽂件使⽤(读和写)注意事项:1.读⽂件:read(filename):读取ini⽂件中的内容sections():得到所有section,返回列表形式options(section):得到给定section的所有optionitems(section):得到指定section的所有key-valueget(section,option):得到section中的option值,返回str类型get(section,option):得到section中的option值,返回int类型2.写⽂件:add_section(sectionname):添加⼀个名为sectionname的新sectionset(sectionname,option,value):设置sectionname的option和value的值注意:最后要使⽤write把内容写⼊ini⽂件:write(open(filenama,'wb'))直接贴出代码来:#coding=utf-8'''Created on 2015.10.30ini配置⽂件读写的使⽤'''import ConfigParseriniFileUrl="conf.ini"conf=ConfigParser.ConfigParser() #⽣成conf对象conf.read(iniFileUrl) #读取ini配置⽂件def readConfigFile():"""sections:配置⽂件中[]中的值options:每组中的键items:键-值的列表形式"""# 获取每组类型中的section值sections = conf.sections() # 获取所有sectionsprint "---conf.ini⽂件中的section内容有:", sections# 获取每⾏数据的键即指定section的所有optionprint "---group_a的所有键为:", conf.options("group_a")print "---group_b的所有键为:", conf.options("group_b")# 获取指定section的所有键值对print "---group_a的所有键-值为:", conf.items("group_a")# 指定section,option读取具体值print "---group_a组的a_key1值为:", conf.get("group_a", "a_key1")print "---group_b组的b_key1值为(取整数类型):", conf.getint("group_b", "b_key1")def writeConfigFile():"""根据分组名、键名修改为新键值@param sections: section分组名@param key: 分组中的key@param newvalue: 需要修改后的键值"""conf.set("group_b", "b_key3", "new3") #指定section和option则更新valueconf.set("group_b", "b_key5", "value5") #指定section,则增加option和valueconf.add_section("group_d") #添加section组conf.set("group_d", "d_key1", "value1") #给添加的section组增加option-value#写回配置⽂件conf.write(open(iniFileUrl, "wb"))readConfigFile()writeConfigFile()'''运⾏结果:---conf.ini⽂件中的section内容有: ['group_a', 'group_b', 'group_c']---group_a的所有键为: ['a_key1', 'a_key2']---group_b的所有键为: ['b_key1', 'b_key2', 'b_key3', 'b_key4', 'b_key5']---group_a的所有键-值为: [('a_key1', '20'), ('a_key2', '10')]---group_a组的a_key1值为: 20---group_b组的b_key1值为(取整数类型): 121 '''附赠conf.ini⽂件:[group_a]a_key1 = 20a_key2 = 10[group_b]b_key1 = 121b_key2 = b_value2b_key3 = new3b_key4 = 127.0.0.1b_key5 = value5[group_c]c_key1 = value1[group_d]d_key1 = value1。
读写INI文件函数的介绍
INI文件就是扩展名为“ini”的文件。
在Windows系统中,INI文件是很多,最重要的就是“System.ini”、“System32.ini”和“Win.ini”。
该文件主要存放用户所做的选择以及系统的各种参数。
用户可以通过修改INI文件,来改变应用程序和系统的很多配置。
但自从Windows 95的退出,在Windows系统中引入了注册表的概念,INI文件在Windows系统的地位就开始不断下滑,这是因为注册表的独特优点,使应用程序和系统都把许多参数和初始化信息放进了注册表中。
但在某些场合,INI文件还拥有其不可替代的地位。
本文就来探讨一下C#是如何对INI进行读写操作。
INI文件的结构
INI文件是一种按照特点方式排列的文本文件。
每一个INI文件构成都非常类似,由若干段落(section)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键词(keyword)和一个等号,等号右边的就是关键字对应的值(value)。
其一般形式如下:[Section1]
KeyWord1 = Valuel
KeyWord2 = Value2
……
[Section2]
KeyWord3 = Value3
KeyWord4 = Value4
C#和Win32 API函数
C#并不像C++,拥有属于自己的类库。
C#使用的类库是.Net框架为所有.Net程序开发提供的一个共有的类库——.Net FrameWork SDK。
虽然.Net FrameWork SDK内容十分庞大,功能也非常强大,但还不能面面俱到,至少它并没有提供直接操作INI文件所需要的相关的类。
在本文中,C#操作INI文件使用的是Windows系统自带Win32的API函数——WritePrivateProfileString()和GetPrivateProfileString()函数。
这二个函数都位于“kernel32.dll”文件中。
我们知道在C#中使用的类库都是托管代码(Managed Code)文件,而Win32的API函数所处的文件,都是非托管代码(Unmanaged Code)文件。
这就导致了在C#中不可能直接使用这些非托管代码文件中的函数。
好在.Net框架为了保持对下的兼容,也为了充分利用以前的资源,提出了互操作,通过互操作可以实现对Win32的API函数的调用。
互操作不仅适用于Win32的API函数,还可以用来访问托管的COM对象。
C#中对Win32的API函数的互操作是通过命名空间“System.Runtime.InteropServices”中的“DllImport”特征类来实现的。
它的主要作用是指示此属性化方法是作为非托管DLL的输出实现的。
下面代码就是在C#利用命名空间“System.Runtime.InteropServices”中的“DllImport”特征类申明上面二个Win32的API函数:
C#申明INI文件的写操作函数WritePrivateProfileString():
[ DllImport ( "kernel32" ) ]
private static extern long WritePrivateProfileString ( string section , string key , string val , string filePath ) ;
参数说明:section:INI文件中的段落;key:INI文件中的关键字;val:INI文件中关键字的数值;filePath:INI文件的完整的路径和名称。
C#申明INI文件的读操作函数GetPrivateProfileString():
[ DllImport ( "kernel32" ) ]
private static extern int GetPrivateProfileString ( string section ,string key , string def , StringBuilder retVal , int size , string filePath ) ;
参数说明:section:INI文件中的段落名称;key:INI文件中的关键字;def:无法读取时候时候的缺省数值;retVal:读取数值;size:数值的大小;filePath:INI文件的完整路径和名称。
C#中读写INI文件的关键步骤和解决方法
C#对INI文件进行写操作:
//写入INI文件
private void button2_Click ( object sender , System.EventArgs e )
{
string FileName = textBox1.Text ;
string section = textBox2.Text ;
string key = textBox3.Text ;
string keyValue = textBox4.Text ;
WritePrivateProfileString ( section , key , keyValue , FileName ) ;
MessageBox.Show( "成功写入INI文件!" , "信息" ) ;
}
对INI文件进行写操作,是通过组件button2的"Click"事件来实现的。
这里有一点应该注意,当在调用WritePrivateProfileString()对INI文件进行写操作的时候,如果此时在INI文件中存在和要写入的信息相同的段落名称和关键字,则将覆盖此INI信息。
下面是button2组件的"Click"事件对应的代码清单:
C#对INI文件进行读操作:
正确读取INI的必须满足三个前提:INI文件的全路径、段落名称和关键字名称。
否则就无法正确读取。
你可以设定读取不成功后的缺省数值,在下面的程序中,为了直观设定的是“无法读取对应数值!”字符串,读取INI文件是通过button3组件的“Click”事件来实现的,下面是其对应的代码清单:。