android上怎么读取ini

Android

1个回答

写回答

心动..

2025-10-31 12:20

+ 关注

Android
Android

Android编程iniini文件读写的方法为:一.将信息写入.INI文件中1.所用的WINAPI函数原型为: BOOL WritePrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpString,LPCTSTR lpFileName); 其中各参数的意义:LPCTSTR lpAppName 是INI文件中的一个字段名.LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名.PCTSTR lpString 是键值,也就是变量的值,不过必须为LPCTSTR型或CString型的.LPCTSTR lpFileName 是完整的INI文件名.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=张三.要将学生的年龄保存下来,只需将整型的值变为字符型即可: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 的值为:张三,若前两个参数有误,其值为:默认姓名.3.读入整型值要用另一个WINAPI函数:

UINT GetPrivateProfileInt(LPCTSTR lpAppName, LPCTSTR lpKeyName, INT nDefault, LPCTSTR lpFileName ); 这里的参数意义与上相同.使用方法如下:nStudAge=GetPrivateProfileInt(StudentInfo,Age,10,c://stud//student.ini); 三.循环写入多个值,设现有一程序,要将最近使用的几个文件名保存下来,具体程序如下:

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);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 值.

word
word

2.文件名的路径中必须为 // ,因为在VC++中, // 才表示一个 / .

3.也可将INI文件放在程序所在目录,此时 lpFileName 参数为: .//student.ini.

4.从网页中粘贴源代码时,最好先粘贴至记事本中,再往VC中粘贴,否则易造成编译错误,开始时我也十分不解,好好的代码怎么就不对呢?后来才找到这个方法.还有一些代码中使用了全角字符如:<,\等,也会

造成编译错误.

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号