#include <shlwapi.h> #pragma comment(lib, "shlwapi.lib") wchar_t szExePath[MAX_PATH] = {0}; GetModuleFileNameW(NULL, szExePath, sizeof(szExePath)); PathRemoveFileSpecW(szExePath);(2)如果想获取当前工程的路径的话可以使用下面的函数:
GetCurrentDirectory()
#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 的空间大小
Windows和Linux下获取当前可执行文件路径和工作目录
原文地址:http://blog.csdn.net/haitunxiaomo/article/details/44956095