VC++-读取ini配置文件GetPrivateProfileString

摘要:
=0)?
  • 版本

vs2012

  • 步骤

手动创建一个ini文件

config.ini

将文件另存为ANSI编码格式,用UTF-8编码,读写中文会出现乱码.

VC++-读取ini配置文件GetPrivateProfileString第1张

  • 源代码
#include <string>
#include <afx.h> using namespacestd; stringA1; stringA2; stringA3; HMODULE GetSelfModuleHandle() { MEMORY_BASIC_INFORMATION mbi; return ((::VirtualQuery(GetSelfModuleHandle, &mbi, sizeof(mbi)) != 0) ?(HMODULE)mbi.AllocationBase : NULL); } CString GetProgramDir() { char exeFullPath[MAX_PATH]; //Full path string strPath = ""; GetModuleFileName(GetSelfModuleHandle(),exeFullPath,MAX_PATH); strPath=(string)exeFullPath; //Get full path of the file int pos = strPath.find_last_of('\', strPath.length()); CString path; path=strPath.substr(0, pos).c_str(); returnpath; } voidini_value() { CString szMainKey, StrIniFile; charszVal[MAX_PATH]; BOOL Ret; CString DLL_path=GetProgramDir(); StrIniFile=DLL_path+"\config.ini"; szMainKey.Format(_T("CONFIG")); Ret = GetPrivateProfileString(szMainKey, _T("A1"), _T(""), szVal, MAX_PATH, StrIniFile); A1 =szVal; Ret = GetPrivateProfileString(szMainKey, _T("A2"), _T(""), szVal, MAX_PATH, StrIniFile); A2 =szVal; Ret = GetPrivateProfileString(szMainKey, _T("A3"), _T(""), szVal, MAX_PATH, StrIniFile); A3 =szVal; } voidCMFCApplication1Dlg::OnBnClickedButton1() { //TODO: 在此添加控件通知处理程序代码 //获取当前程序所在目录 CString exe_path =GetProgramDir(); AfxMessageBox(exe_path); //读取ini ini_value(); //打印 char msg[256]; sprintf_s(msg, "%s,%s,%s", A1.c_str(), A2.c_str(), A3.c_str()); AfxMessageBox(msg); }
  • 演示

VC++-读取ini配置文件GetPrivateProfileString第2张

Caesar卢尚宇

2021年2月27日

免责声明:文章转载自《VC++-读取ini配置文件GetPrivateProfileString》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇微信公众平台开发(104) 自定义菜单扫一扫、发图片、发地理位置SQL Server数据库(时间戳timestamp)类型 (转载)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

随便看看

浅谈 SQL 注入(注入篇)

1、 SQL注入1.1简介什么是SQL注入?它不过滤用户可以严格控制或没有限制的参数,以便用户可以将传入的参数和SQL语句组合成SQL语句,然后将其传输到web服务器。最后,它被传输到数据库以执行添加、删除、修改和查询等操作。基于此,用户可以获取数据库数据或提高其销毁数据库数据的权限。...

axios 学习文档

Axios是一个基于承诺的HTTP库,可以在浏览器和node.js中使用。执行POST请求axis.POST.then。接住执行多个并发请求函数getUserAccount(){returnaxios.get;}函数getUserPermissions(){returnaxios.get;}全部承诺。然后axios API可以通过传递相关配置来请求axios...

VMware虚拟机几个常用文件夹介绍

将在虚拟机系统文件下自动生成三个锁文件。虚拟系统正常关闭后,VMware将解锁,“systemTyep.vmdk.lck”和“systemType.vmem”文件夹将消失。当RAM运行缓慢时,它会将数据从RAM移动到一个称为“分页文件”的空间。...

使用Docker构建redis集群

将六个独立的Redis节点关联到主机上的Redis集群中。Redis部落。rb是Redis官方提供的一个ruby脚本,用于构建Redis集群并修改Redis conf将其移动到上部路径/usr/docker_root/redis_Cluster/。受保护模式norequipassa1s2W3l4%Greunbind无法连接到凹坑以构建Redis基本映像。9....

win10 .net3.5的问题及解决方案

小编下面就介绍win1064位系统无法安装Netframework3.5的两种解决方案吧在Windows10中,当我们安装某些软件的时候会提示“你的电脑上的应用需要使用以下Windows功能:.NETFramework3.5”。但近日有网友反映在windows10_64位系统电脑上安装Netframework3.5,操作时总是遇到失败的情况。下面小编就为大家...

R中.rda文件如何读取(专用)

突然,我遇到了一个我不知道如何阅读rda结尾处的文件的人。在检查数据并自己尝试之后,我终于找到了阅读的方法。没有责任!...