在Linux系统下Qt中获取相对路径
我在使用Linux中,操作文件时,用 "../" 和 “ ./ ” 想返回当前可执行文件的上一级目录和这一级目录,不好用,于是有了本篇文章所探讨的问题,即怎样在Linux中获取相对路径。
在这里先附上解决问题的代码:(特别说明:这只是我解决问题的方法,可能会有更简单的方法可以实现获取相对路径)
QString fileOperator()
{
char *buffer;
buffer = getcwd(NULL, 0);
int len = strlen(buffer);
for(int i=len-1;i>=0;i--)
{
if(buffer[i] == '/')
{
buffer[i] = '\0';
break;
}
}
buffer =strcat(buffer,"/project/");
return (QString)buffer;
}
其实就是处理一个字符串作为新的文件地址。因为字符串的有效结束地址时'\0'。
后续在加上自己相对应的文件名路径就行了。
两个QString的字符换可以直接相加。
两个char * 类型的字符串可以用strcat函数,注意strcat函数的头文件是string.h
QString 与 char*相互转换可以参考下面这篇博客。
参考:https://www.cnblogs.com/elect-fans/archive/2012/03/20/2408570.html
本文的编写参考博客如下: