VC 怎样获得执行文件所在路径
怎样获得执行文件所在路径,用GetModuleFileName()获得是路径加文件名,有什么函数只获得路径呢怎么系统没有提供专门的API函数呢,还要自己做这些转换...
怎样获得执行文件所在路径,用GetModuleFileName()获得是路径加文件名,有什么函数只获得路径呢
怎么系统没有提供专门的API函数呢,还要自己做这些转换 展开
怎么系统没有提供专门的API函数呢,还要自己做这些转换 展开
5个回答
展开全部
TCHAR szPath[MAX_PATH];
::GetModuleFileName(NULL,szPath,MAX_PATH);
CString strPath = szPath;
int index = strPath.ReverseFind(_T( '\\'));
strPath = strPath.Left(index + 1);
::GetModuleFileName(NULL,szPath,MAX_PATH);
CString strPath = szPath;
int index = strPath.ReverseFind(_T( '\\'));
strPath = strPath.Left(index + 1);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你需要对获取的全路径做字符串处理,截取到最后一个'\'符号为止。
补充:
有的,查下MSDN -- strrchr()
补充:
有的,查下MSDN -- strrchr()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
char ext[20];
char name[256];
char FileName[]="E:\\asd\\1234.txt";
memset(ext,0,20);
memset(name,0,256);
_splitpath (FileName,0,0,name,ext);
cout<<"文件名:"<<name<<endl<<"扩展名:"<<ext<<endl;
//==============================================================
通过反向字符搜索取得文件扩展名
char* getext(char* FileName)
{
char* ptr=NULL;
ptr=strrchr(FileName, '.');
++ptr;
return ptr;
}
char name[256];
char FileName[]="E:\\asd\\1234.txt";
memset(ext,0,20);
memset(name,0,256);
_splitpath (FileName,0,0,name,ext);
cout<<"文件名:"<<name<<endl<<"扩展名:"<<ext<<endl;
//==============================================================
通过反向字符搜索取得文件扩展名
char* getext(char* FileName)
{
char* ptr=NULL;
ptr=strrchr(FileName, '.');
++ptr;
return ptr;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CString CClientApp::ReturnPath()
{
CString sPath;
GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind('\\');
sPath=sPath.Left(nPos);
return sPath;
}
{
CString sPath;
GetModuleFileName(NULL,sPath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
sPath.ReleaseBuffer ();
int nPos;
nPos=sPath.ReverseFind('\\');
sPath=sPath.Left(nPos);
return sPath;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
同奶茶dsk的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询