VC操作INI.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VC操作INI

用VC操作ini配置文件 2009年02月13日 星期五 10:27 Windows操作系统专门为此提供了6个API函数来对配置设置文件进行读、写: GetPrivateProfileInt() 从私有初始化文件获取整型数值 GetPrivateProfileString() 从私有初始化文件获取字符串型值 GetProfileInt 从win.ini 获取整数值 GetProfileString 从win.ini 获取字符串值 WritePrivateProfileString 写字符串到私有初始化文件 WriteProfileString 写字符串到win.ini 我们可以把视图类的:OnInitialUpdate() 函数作为程序启动时读取配置文件的入口,配置文件的存储格式如下: [SECTION 1] XPos=300 YPos=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;ilen;i++) { CString str; str.Format(%c,buf[i]); m_strText+=str; } Invalidate(); 一般配置文件是和应用程序存放在同一个目录中的如果用C:\test\debug\test.ini的绝对路径进行设置就会出现路径改变后找不到配置文件的问题,所以应动态搜寻配置文件的存放地址: Tchar exeFullPath[MAX_PATH]; // MAX_PATH在API中有定义,为128 int 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项目添加应用程序的全路径来实现,这要比其它两种方法简便的多,而且也比较安全。 二.将信息从INI文件中读入程序中的变量. 1.所用的WINAPI函数原型为: DWORD GetPrivateProfileString( LPCTSTR lpAppName, LPCTSTR lpKeyName, LPCTSTR lpDefault, LPTSTR lpReturnedString, DWORD nSize, LPCTSTR lpFileName ); 其中各参数的意义: 前二个参数与 WritePrivateProfileString中的意义一样. lpDefault : 如果INI文件中没有前两个参数指定的字段名或键名,则将此值赋给变量.

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档