在Linux系统下Qt中获取相对路径

在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] = '';
            break;
        }
    }
    buffer =strcat(buffer,"/project/");
    return (QString)buffer;
}

其实就是处理一个字符串作为新的文件地址。因为字符串的有效结束地址时''。

后续在加上自己相对应的文件名路径就行了。

两个QString的字符换可以直接相加。

两个char * 类型的字符串可以用strcat函数,注意strcat函数的头文件是string.h

QString 与 char*相互转换可以参考下面这篇博客。

参考:https://www.cnblogs.com/elect-fans/archive/2012/03/20/2408570.html

本文的编写参考博客如下:

https://blog.csdn.net/suiyueruge1314/article/details/106407842?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_title-0&spm=1001.2101.3001.4242

原文地址:https://www.cnblogs.com/habit2021/p/14645938.html