博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
配置文件操作(获取路径、及取得相应数据)
阅读量:6833 次
发布时间:2019-06-26

本文共 1681 字,大约阅读时间需要 5 分钟。

1.获取当前dll或者exe的路径:方法一、void  GetNowDllPath(CString & strPath){	Char szPath[100]={0};	CWinApp *pApp = AfxGetApp();		//szPath结果看下面示例截图,一目了然;pApp->m_hInstance为当前模块的句柄	GetModuleFileName(pApp? pApp->m_hInstance: NULL, szPath, sizeof(szPath));	Char *pDest = strrchr(szPath, ‘\\’);//找到字符串szPath中最后一个单斜线的位置	If(pDest != NULL)	{		*pDest = ‘\0’;//最后一个单斜线的位置,置为结束符	}	strPath = szPath;} 方法二、void  GetNowDllPath(CString & strPath){  char szPath[260]={0};  GetCurrentDirectory(511,szPath);  CString  dllHome;  dllHome = szPath;  int p1 = dllHome.ReverseFind('/');  int p2 = dllHome.ReverseFind('\\');  int pos = max(p1,p2);  if(pos > 0)    dllHome = dllHome.Left(pos+1);  strPath = dllHome;} GetModuleFileName 与 GetCurrentDirectory 区别:  GetModuleFileName 函数指定当前进程模块的路径.它仅仅操作当前进程下的模块.如果想获取其他进程下的模块信息, 则需使用 GetModuleFileNameEx 函数。  GetCurrentDirectory 返回当前进程的当前目录,并不一定返回你的应用程序的目录。如果你在应用程序中调用了打开文件对话框,你选择了一个文件,那么,这个文件所在的目录就成了当前进程的当前目录了。  2.获取当前DLL下配置文件的信息:	CString HomePath;	GetNowDllPath(HomePath);	CString InitPath = HomePath + “\\scistock.ini”;	Char g_szMongoDBHost[128]={0};	Int g_nMongoDBPort = 0;	GetPrivateProfileString(“MongoDB”, ”HOST”, “127.0.0.1”,  g_szMongoDBHost , 128, IniPath);	g_nMongoDBPort = GetPrivateProfileInt(“MongoDB”, “PORT”, 27017, IniPath);

  

示例图片:

 

 

 

GetPrivateProfileString、GetPrivateProfileInt的原型:DWORD GetPrivateProfileString(LPCTSTR lpAppName, //配置文件的section名LPCTSTR lpKeyName, //配置文件的key名LPCTSTR lpDefault, //默认返回值LPTSTR lpReturnedString, //返回值DWORD nSize, //返回值最大长度LPCTSTR lpFileName //配置文件路径); UINT WINAPI GetPrivateProfileInt(_In_LPCTSTR lpAppName, //配置文件的section名_In_LPCTSTR lpKeyName, //配置文件的key名_In_INT nDefault, //默认返回值_In_LPCTSTR lpFileName //配置文件路径);

  

配置文件截图:

 

 

转载地址:http://wptkl.baihongyu.com/

你可能感兴趣的文章
Mysql 数据库表区分大小写问题
查看>>
什么是openstack的metadata
查看>>
原创:SecureCRT连接linux终端颜色配置
查看>>
java关键字--this
查看>>
SDL_AudioSpec结构体分析
查看>>
Autoconf和Automake,自动生成Makefile
查看>>
观影《寒战》
查看>>
create instance 生成创建虚拟机从nova到调用libvirt流程(pycharm debug):
查看>>
今天的学习
查看>>
我的友情链接
查看>>
[Unity] 文件夹图像资源的读取
查看>>
【go语言】wait,wait for me
查看>>
Kubernetes Dashboard 与DNS部署
查看>>
jquery checkbox挖坑
查看>>
You have new mail in /var/spool/mail/root
查看>>
一道关于计算机如何做加法的面试题
查看>>
Django进阶-Forms模块实例
查看>>
Linux系统安装初始化及优化脚本
查看>>
SpringMVC + MyBatis整合
查看>>
远程桌面的开启和故障处理
查看>>