在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] = '\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

本文的編寫參考博客如下:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM