Linux readlink与/proc/self/exe
ssize_t readlink(const char *path, char *buf, size_t bufsiz);
/proc/self/exe是一个符号链接,代表当前程序的绝对路径
用readlink读取/proc/self/exe可以获取当前程序的绝对路径
以下用法为doctotext源码中的一部分
std::string GetCurrentDir()
{
std::string path;
char szDir[512];
int cnt = readlink("/proc/self/exe",szDir,512);
if(cnt < 0 ||cnt >=512)
{
return path;
}
for(int i = cnt;i >=0;--i)
{
if(szDir[i] == '/')
{
szDir[i+1] = '\0';
break;
}
}
path = szDir;
return path;
}
浙公网安备 33010602011771号