C++ 相对路径转换绝对路径,我现在只能用PathIsRelative方法判断字符串表示的路径是不是相对路径

但是,如果是相对路径时,怎么样把它转换为绝对路径就不知道了,我一开始是自己写算法,判断字符串中的.././,就是判断相对当前文件有几层,不过感觉不好,而且可能还有缺陷,A... 但是,如果是相对路径时,怎么样把它转换为绝对路径就不知道了,我一开始是自己写算法,判断字符串中的../ ./,就是判断相对当前文件有几层,不过感觉不好,而且可能还有缺陷,API或者别的函数有没有方便一点的方法!!!
PS:小菜是刚转C++,所以还请各位大虾能贴出代码参考参考,谢谢鸟!!!
展开
 我来答
百度网友797df9f
2012-11-16 · 超过17用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:43.7万
展开全部
一般程序所说的相对路径就是当前程序所在的相对路径,
判断是不是绝对路径 你就判断下有没有盘符就行了 d: e:
转换绝对路径要先把系统当前路径获取到,有很多方法,你可以查下
当前程序路径+相对路径就是绝对路径了

你说的 ../是不是你的相对路径还有上层路径的。。
追问
对啊,这个是怎么转换成绝对路径,要是没有../这个,我倒是会,直接在后面拼接就行了,可是有了这个东西,就不好办了,有没有什么现成的函数可以判断转换的
xiang3811
2012-11-19
知道答主
回答量:25
采纳率:0%
帮助的人:19.1万
展开全部
具体情况不是很清楚~~希望能说的再清楚点~~~如果../都是事先知道的做个简单的偏移就好了。
追问
假如说我的当前程序路径是E:\aa\bb\cc\123.exe,我传入一个参数是../test.txt或者../../../test.txt。我知道可以通过对../的判断而偏移位置,可是我总是感觉这样做有什么缺陷,毕竟参数是由用户输入的,他也不一定就输../../这种,所以希望用哪个函数方法啥的来做,有么??
追答
你可以使用 _splitpath 来拆分路径 然后根据自己的绝对路径组合
里面有5个参数 1是当前要拆分的路径,2是被拆分出的设备如"e:",3是路径(不包括2),4是文件名,5文件后缀。去MSDN上查下~这个还需要个头~里面有写~
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式