MFC 获取可执行文件的路径 获取当前可执行文件的目录
2014-01-22 10:39
811 查看
在MFC和Console下获取当前执行文件路径的方法
一、在MFC下可以调用函数GetModuleFileName。
头文件include Windows.h
DWORD GetModuleFileName(
HMODULE hModule,//装载一个程序实例的句柄。如果该参数为NULL,该函数返回该当前应用程序全路径
LPTSTR lpFilename,//是你存放返回的名字的内存块的指针,是一个输出参数
DWORD nSize//装载到缓冲区lpFileName的最大值
);
使用过程中需要去掉**.exe:
方法一:GetModuleFileName(NULL, fullPath,100)
strPath=(CString)fullPath;
int position=strPath.ReverseFind('\\'); //反向查找"\"所在的位置
strPath=strPath.Left(position+1); //或者strpath=strPath.Left(position)+_T("\\");
方法二:GetModuleFileName(NULL, szFilePath, MAX_PATH);
m_filepath=CString(szFilePath);
int len=m_filepath.GetLength();
int i=0;
for (i=len-1;i>-1;i--)
{
if(m_filepath[i]!= '\\')
m_filepath.Delete(i,1);
else
break;
}
之后可以直接利用“+”实现字符串的衔接,如:CString pathresult=m_filepath+"result.txt";
二、在console程序中,依然可以调用GetModuleFileName,但是我只添加了#include <afx.h>头文件,但是可以运行,不知道合理不合理。
int pathlen = ::GetModuleFileName(NULL,pathbuf,100);
// 替换掉单杠
while(TRUE)
{
if(pathbuf[pathlen--]=='\\')
break;
}
pathbuf[++pathlen]=0x0;//添加结束符
strcat(pathbuf,"\\result.txt");//后面衔接要存储的文档名。开始用数组下标一个一个字符写进去,笨死了,忘了基本的c函数。
三、1、字符串的衔接
strcat函数说明:
extern char *strcat(char *dest,char *src);
把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
头文件:
#include <string.h>
在C++中,则存在于<cstring>头文件中。
2、字符串的复制
strcpy函数说明:
extern char *strcpy(char *dest,char *src);
把src所指由NULL结束的字符串复制到dest所指的数组中。
头文件:
同上!!
一、在MFC下可以调用函数GetModuleFileName。
头文件include Windows.h
DWORD GetModuleFileName(
HMODULE hModule,//装载一个程序实例的句柄。如果该参数为NULL,该函数返回该当前应用程序全路径
LPTSTR lpFilename,//是你存放返回的名字的内存块的指针,是一个输出参数
DWORD nSize//装载到缓冲区lpFileName的最大值
);
使用过程中需要去掉**.exe:
方法一:GetModuleFileName(NULL, fullPath,100)
strPath=(CString)fullPath;
int position=strPath.ReverseFind('\\'); //反向查找"\"所在的位置
strPath=strPath.Left(position+1); //或者strpath=strPath.Left(position)+_T("\\");
方法二:GetModuleFileName(NULL, szFilePath, MAX_PATH);
m_filepath=CString(szFilePath);
int len=m_filepath.GetLength();
int i=0;
for (i=len-1;i>-1;i--)
{
if(m_filepath[i]!= '\\')
m_filepath.Delete(i,1);
else
break;
}
之后可以直接利用“+”实现字符串的衔接,如:CString pathresult=m_filepath+"result.txt";
二、在console程序中,依然可以调用GetModuleFileName,但是我只添加了#include <afx.h>头文件,但是可以运行,不知道合理不合理。
int pathlen = ::GetModuleFileName(NULL,pathbuf,100);
// 替换掉单杠
while(TRUE)
{
if(pathbuf[pathlen--]=='\\')
break;
}
pathbuf[++pathlen]=0x0;//添加结束符
strcat(pathbuf,"\\result.txt");//后面衔接要存储的文档名。开始用数组下标一个一个字符写进去,笨死了,忘了基本的c函数。
三、1、字符串的衔接
strcat函数说明:
extern char *strcat(char *dest,char *src);
把src所指字符串添加到dest结尾处(覆盖dest结尾处的'\0')并添加'\0'。
头文件:
#include <string.h>
在C++中,则存在于<cstring>头文件中。
2、字符串的复制
strcpy函数说明:
extern char *strcpy(char *dest,char *src);
把src所指由NULL结束的字符串复制到dest所指的数组中。
头文件:
同上!!
相关文章推荐
- MFC 获取当前工作路径和可执行文件路径
- MFC 获取当前工作路径和可执行文件路径
- MFC 获取当前工作路径和可执行文件路径
- RUBY获取当前的执行文件的路径和目录
- MFC 获取当前工作路径和可执行文件路径
- Windows和Linux下获取当前可执行文件路径和工作目录
- 获取当前正在执行的服务器应用程序根目录的物理文件系统路径
- MFC中获取当前工作路径与可执行文件路径(转)
- 获取当前正在执行的服务器应用程序根目录的物理文件系统路径
- Linux下获取当前进程的执行文件的绝对路径和所在目录(通过/proc/self/exe链接)
- MFC获取当前工作路径和可执行文件路径
- 用MFC实现代码获取当前EXE 执行的绝对路径,用于扩展相对路径扩展,以及计算文件大小功能
- #### 批处理命令 获取当前目录下所有文件的路径
- Linux C 获取当前进程可执行文件路径
- 用批处理获取当前目录下所有文件的路径
- PHP获取当前文件所在目录的父目录的路径(两种方法)
- MFC 检测文件存在、获取当前路径、新建文件夹
- 获取.EXE可执行文件所在的目录路径
- DOS:先进入 bat 文件的路径,然后执行 bat 文件,然后回到当前目录收藏
- 获取当前可执行文件的路径