Qt获取当前执行程序路径,windows跟linux
时间: 2023-07-08 17:22:48 浏览: 887
QT获取当前运行路径
获取当前执行程序路径的方法在 Windows 和 Linux 上略有不同。
在 Windows 上,可以使用 GetModuleFileName 函数来获取当前执行程序路径。示例代码如下:
```cpp
#include <Windows.h>
int main(int argc, char *argv[])
{
char path[MAX_PATH];
GetModuleFileName(NULL, path, MAX_PATH);
// 处理路径
return 0;
}
```
在 Linux 上,可以使用 readlink 函数来获取当前执行程序路径。示例代码如下:
```cpp
#include <unistd.h>
#include <limits.h>
int main(int argc, char *argv[])
{
char path[PATH_MAX];
ssize_t len = readlink("/proc/self/exe", path, sizeof(path));
if (len != -1) {
path[len] = '\0';
// 处理路径
}
return 0;
}
```
需要注意的是,在 Linux 上,/proc/self/exe 是一个符号链接,指向当前执行程序的路径。而在 Windows 上,GetModuleFileName 函数的第一个参数为 NULL,则表示获取当前执行程序的路径。
阅读全文