c/c++ 获取当前程序(EXE)所在的路径
来源:互联网 发布:人工智能行业研究报告 编辑:程序博客网 时间:2024/05/22 06:38
一、
1.只获得路径字串不包含文件名
TCHAR szFilePath[MAX_PATH + 1]={0};
GetModuleFileName(NULL, szFilePath, MAX_PATH);
(_tcsrchr(szFilePath, _T('\\')))[1] = 0; // 删除文件名,只获得路径字串
CString str_url = szFilePath; // 例如str_url==e:\program\Debug\
---------------------------------------------------------
2.获得双斜杠路径不包含文件名
TCHAR _szPath[MAX_PATH + 1]={0};
GetModuleFileName(NULL, _szPath, MAX_PATH);
(_tcsrchr(_szPath, _T('\\')))[1] = 0;//删除文件名,只获得路径 字串
CString strPath;
for (int n=0;_szPath[n];n++)
{
if (_szPath[n]!=_T('\\'))
{
strPath +=_szPath[n] ;
}
else
{
strPath += _T("\\\\");
}
}
MessageBox(strPath);//输出==e:\\program\\Debug\\
二、
1:获取应用程序自身完整路径文件名
方法1:
#include "stdlib.h"
void main()
{
cout << _pgmptr << endl;
}
方法2:
char szFullPath[MAX_PATH];
ZeroMemory(szFullPath,MAX_PAT);
::GetModuleFileName(NULL,szFullPath,MAX_PATH);
::MessageBox(NULL,szFullPath,"path",MB_ICONINFORMATION);
方法3:
TCHAR szPath[MAX_PATH] = {0};
if(!GetModuleFileName(NULL, szPath, MAX_PATH))
{ return ; }
AfxMessageBox(szPath);
2:如何获取应用程序所在目录?
这里值得注意的是很多人都用
GetCurrentDirectory(MAX_PATH, szCurrentPath);
来获取。这个方法并不好,经常出错,比如现在我有一个程序在d:\test目录下,现在运行这个程序后用GetCurrentDirectory得到的是d:\test
。接着在程序里用CFileDialog来打开一个C:\test\test.txt文件后再调用GetCurrentDirectory,那么得到的szCurrentPath就是C:\test而不是d:\test。
推荐用如下方法来得到当前程序所在目录比较安全:
void _splitpath( const char *path, char *drive, char *dir, char *fname, char *ext );
函数来分解开始提到的_pgmptr,然后再用
void _makepath( char *path, const char *drive, const char *dir, const char *fname, const char *ext );
函数来对分解后的路径进行组合。这两个函数结合起来功能强大,使用灵活,基本上所有的有关目录和路径方面的操作都可以搞定。
转载于:http://hi.baidu.com/wyuanshiy/blog/item/7818a5ec6ffab422269791dc.html
MSDN的用法:
我自己写了个合成当前EXE所在目录某个文件的完整路径函数:
参数说明:
s用来接收完整路径;
nLen缓冲区长度;
file_name为文件名称,不带后缀;
file_ext为文件后缀。
- c/c++ 获取当前程序(EXE)所在的路径
- c/c++ 获取当前程序(EXE)所在的路径
- c++_获取当前程序(EXE)所在的路径
- c/c++ 获取当前程序(EXE)所在的路径
- C获取当前程序路径, exe路径
- C++获取当前可执行程序(*.exe)所在的路径
- C++获取当前可执行程序(*.exe)所在的路径
- C++获取当前可执行程序(*.exe)所在的路径
- 获取当前exe文件所在文件夹路径接口(c语言)
- 获取当前程序可执行文件的所在路径
- Wince下获取当前运行的EXE所在路径
- Unity(C#)获取当前运行exe路径的方法
- 获取exe程序的路径(C/C++)
- 【Go】获取当前程序EXE所在目录
- 如何获取程序所在路径的其他exe
- 在MFC程序中获取exe所在的路径
- 【C++】求当前exe的运行路径
- 获取当前程序所在服务器的目录路径
- 修改JDK配置不生效的解决方案
- java堆结构,以及堆中的永久代
- 邮箱 用户名 密码 判断
- react工作原理
- AMD、CMD、UMD
- c/c++ 获取当前程序(EXE)所在的路径
- 属性动画的几种简单用途
- 2017面试题的总结——附加答案
- Apache与Tomcat有什么关系和区别
- 添加表单
- NoClassDefFoundError异常处理办法
- 有关url的php内置函数
- 【iOS】UITableView中section的展开和收起
- 【C++多态】与虚函数简单总结