qt 或c/c++中 如何 把绝对路径 转换成 相对路径 ,求实现 100

如题... 如题 展开
 我来答
shihoumacili
高粉答主

推荐于2018-03-23 · 每个回答都超有意思的
知道大有可为答主
回答量:1.1万
采纳率:87%
帮助的人:485万
展开全部
方法如下:

代码:

#include <direct.h>
#include <stdlib.h>
#include <stdio.h>

int main( void )
{
char* buffer;
if( (buffer = _getcwd( NULL, 0 )) == NULL ) {
perror( "_getcwd error" );
} else {
printf( "Current Dir: %s /n", buffer);
free(buffer);
}
}

调用 _getcwd 来获得当前的工作目录。
可以在终端或cmd中切换到其他目录,通过绝对路径来调用这个程序,来观察输出。
如果在linux下,可以创建启动器,然后启动器中可以设置工作目录。
如果在windows下,可以为其创建快捷方式,快捷方式属性中可以设置/修改工作目录。
子瓜舟独影
推荐于2017-12-16 · 超过11用户采纳过TA的回答
知道答主
回答量:25
采纳率:0%
帮助的人:15.5万
展开全部
#include <string>
#include <iostream>
using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
string relPath;//相对路径
string path("D:\\Program Files\\Tencent\\1.txt");//绝对路径
string curPath("D:\\Program Files");//当前目录

//cin >> path >> curPath;

int iRes = path.find(curPath);
if (iRes == path.npos){
//查找失败
cout << "路径有误!\n";
return 1;
}
else relPath = path.substr(iRes + curPath.length(), path.length() - curPath.length() - iRes);
cout << relPath << endl;

return 0;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2020-02-27
展开全部
搜下:PathRelativePathTo
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
物理公司的
2015-07-13 · TA获得超过5695个赞
知道大有可为答主
回答量:6105
采纳率:86%
帮助的人:1365万
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式