Windows和Linux下获取当前可执行文件路径和工作目录

来源:互联网 发布:湖南省地质测绘院 知乎 编辑:程序博客网 时间:2024/05/21 18:50

1、Windows下的获取当前可执行文件的路径和当前工程目录。

(1)获取当前可执行文件路径:
#include <shlwapi.h>#pragma comment(lib, "shlwapi.lib")wchar_t szExePath[MAX_PATH] = {0};GetModuleFileNameW(NULL, szExePath, sizeof(szExePath));PathRemoveFileSpecW(szExePath);
(2)如果想获取当前工程的路径的话可以使用下面的函数:
GetCurrentDirectory()

2、linux下获取当前可执行文件路径和工程路径。

(1)获取当前可执行文件路径:
#include <limits.h>#include <stdio.h>#include <string.h>#include <unistd.h>size_t GetCurrentExcutableFilePathName( char* processdir,char* processname, size_t len){        char* path_end;        if(readlink("/proc/self/exe", processdir,len) <=0)                return -1;        path_end = strrchr(processdir,  '/');        if(path_end == NULL)                return -1;        ++path_end;        strcpy(processname, path_end);        *path_end = '\0';        return (size_t)(path_end - processdir);}
(2)如果想获取当前工程的路径的话可以使用下面的函数:
//头文件:#include <unistd.h>//定义函数:char * getcwd(char * buf, size_t size);//函数说明:getcwd()会将当前的工作目录绝对路径复制到参数buf 所指的内存空间,参数size 为buf 的空间大小



2 0
原创粉丝点击