C++ 关于相对路径的获得

C++\MFC程序例如可执行程序pro.exe所在位置D:\A\B\C\pro.exe,我能获得pro.exe所在目录,我现在想获取D:\A\B\D\目录,如何做呢我需要... C++\MFC程序 例如可执行程序pro.exe所在位置
D:\A\B\C\pro.exe,我能获得pro.exe所在目录,我现在想获取
D:\A\B\D\ 目录,
如何做呢
我需要可行的代码,所以希望大家附上代码
展开
 我来答
龚炜林
推荐于2016-02-09 · TA获得超过1560个赞
知道大有可为答主
回答量:1102
采纳率:66%
帮助的人:580万
展开全部
操作字符串D:\A\B\C\pro.exe,去掉C\pro.exe
然后扫描得到的D:\A\B\目录,就能获得这个目录里的子目录或文件。有关扫描代码如下:
http://zhidao.baidu.com/question/463141363.html?oldq=1
如果你固定了D的名称,那就不用扫描了。直接加上它就是。
追问
第一:怎么去掉 C\pro.exe
追答
CString filepath="D:\\A\\B\\C\\pro.exe";
filepath.Replace("C\\pro.exe","");
veket的小号
2012-08-12 · TA获得超过3371个赞
知道大有可为答主
回答量:3762
采纳率:0%
帮助的人:3991万
展开全部
去查这个api吧
GetModuleFileName

得到 自身的完整路径(含文件名)
然后 字符串 分析一下(从字符串尾巴 开始往前找 ,找到最有一个\的位置,.......这个位置前的就是你要的路径了)
追问
1.从字符串尾巴找 \ 位置  代码或函数是哪个
2. 找到后怎么操作 代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6eab688
2012-08-12 · TA获得超过4691个赞
知道大有可为答主
回答量:962
采纳率:50%
帮助的人:948万
展开全部
CString str = _T("D:\A\B\C\pro.exe");
CString result;
do {
int Pos = str.ReverseFind(_T('\\'));
if (Pos < 0)
break;
str = str.Left(Pos);
Pos = str.ReverseFind(_T('\\'));
if (Pos < 0)
break;
str = str.Left(Pos+1);
str.Append(_T("D\\"));
} while (0);
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式