Boost.filesystem
initial_path()与current_path(),只能获取Shell传入的执行路径,不在执行程序当前路径时导致错误
Linux系统函数
getpwd(),同Boost
readlink(),可实现获取完整路径,因为从当前执行程序文件中读取路径
string ReturnEXERoute(){char url[1024]{};int rslt = readlink("/proc/self/exe", url, 1023);if (rslt < 0 || (rslt >= 1023)){cout << "readlink error" << endl;}url[rslt] = '\0';for (int i = rslt; i >= 0; i--){if (url[i] == '/'){url[i + 1] = '\0';break;}}return string(url);}