在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
本文的編寫參考博客如下: