社区
界面
帖子详情
怎么用Getvalue这个函数来读取INI文件
haohao915
2008-04-29 07:18:00
怎么用Getvalue这个函数来读取INI文件!!!请各位看看!!
...全文
178
8
打赏
收藏
怎么用Getvalue这个函数来读取INI文件
怎么用Getvalue这个函数来读取INI文件!!!请各位看看!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
meiZiNick
2008-05-01
打赏
举报
回复
等待牛人来答.
海忠
2008-04-30
打赏
举报
回复
必须指出,WinAPI GetPrivateProfileString/GetPrivateProfileInt/WritePrivateProfileString
效率是非常低的,因为每执行一次他们均会重新打开Ini文件读取或写入,结束后再关闭Ini文件。
对于大数据量的Ini文件会明显感觉到速度特别慢。
对于很小数据量的Ini文件将不会有明显的感觉。
===============================================================================
阙海忠 (CTO Skin++ 开发成员
http://www.uipower.com
上海勇进软件有限公司)
haohao915
2008-04-30
打赏
举报
回复
[Quote=引用 5 楼 LBPeking 的回复:]
一.将信息写入.INI文件中.
1.所用的WINAPI函数原型为:
BOOL WritePrivateProfileString(
LPCTSTR lpAppName,
LPCTSTR lpKeyName,
LPCTSTR lpString,
LPCTSTR lpFileName
);
其中各参数的意义:
LPCTSTR lpAppName 是INI文件中的一个字段名.
LPCTSTR lpKeyName 是lpAppName下的一个键名,通俗讲就是变量名.
LPCTSTR lpString 是键值,也就是变量的值,不过必须为L…
[/Quote]
这个方法我已经用过了...
闪破风浪
2008-04-29
打赏
举报
回复
一.将信息写入.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文件名.
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]
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 的值为:"张三",若前两个参数有误,其值为:"默认姓名".
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");
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".
arong1234
2008-04-29
打赏
举报
回复
建议用GetPrivateProfileString/GetPrivateProfileInt读ini
海忠
2008-04-29
打赏
举报
回复
<<好用且高效的INI类>>
http://www.uipower.com/shownews2.asp?id=490
本类可以读取INI磁盘文件与INI内存文件,并一次全部读入内存结构中。支持MAP的内存检索,所以读取其中的数据是非常高效的
===============================================================================
阙海忠 (CTO Skin++ 开发成员
http://www.uipower.com
上海勇进软件有限公司)
zgl7903
2008-04-29
打赏
举报
回复
MSDN帮助文档
GetProfileInt
GetProfileString
GetProfileBinary
//Example
CString strSection = "My Section";
CString strStringItem = "My String Item";
CString strIntItem = "My Int Item";
CWinApp* pApp = AfxGetApp();
pApp->WriteProfileString(strSection, strStringItem, "test");
CString strValue;
strValue = pApp->GetProfileString(strSection, strStringItem);
ASSERT(strValue == "test");
pApp->WriteProfileInt(strSection, strIntItem, 1234);
int nValue;
nValue = pApp->GetProfileInt(strSection, strIntItem, 0);
ASSERT(nValue == 1234);
systemthink
2008-04-29
打赏
举报
回复
http://www.80diy.com/home/20051229/13/4488450.html
基于Qt的
读取
配置
文件
[MoonlightService这个string串就是
读取
配置
文件
的路径,可以写成宏
函数
] 3.在判断完m_
ini
File是否为空, 接下来就是可以使用了 举例: if (m_
ini
File != NULL){ strRet = m_
ini
File->
GetValue
("moonlightService...
VB读写
ini
文件
VB读写
ini
文件
(1)自从注册表诞生以来
ini
文件
正在逐渐失去其市场占有率,然而基于
ini
文件
的独立性,致使其还没有到达退出历史舞台的地步,很多应用程序的初始化和一些界面参数的设置仍然很愿意从
ini
文件
中
读取
,...
java读写
INI
文件
(附完整源码)
java读写
INI
文件
(附完整源码)
C++/Qt读写
ini
文件
今天介绍C++/Qt读写
ini
文件
,
ini
文件
一般是作为配置
文件
来使用,比如一些程序的一些默认参数会写在一个
ini
文件
中,程序运行时会进行对应的参数
读取
,详细可以查看百度
ini
文件
的介绍。
VB
读取
INI
配置
文件
各方资料整合
VB读写
ini
文件
(1) 自从注册表诞生以来
ini
文件
正在逐渐失去其市场占有率,然而基于
ini
文件
的独立性,致使其还没有到达退出历史舞台的地步,很多应用程序的初始化和一些界面参数的设置仍然很愿意从
ini
文件
中
读取
,...
界面
15,978
社区成员
115,896
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章