Linux下获取当前程序的绝对路径




#include <unistd.h>
#include <string>
#include <iostream>
using namespace std;

char *getOwnerPath()
{
    char path[1024];
    int cnt = readlink("/proc/self/exe",path,1024);
    if(cnt<0||cnt>=1024)
    {
        return NULL;
    }

    for(int i=cnt;i>=0;--i)
    {
        if(path[i]=='/')
        {
            path[i+1]='\0';
            break;
        }
    }

    return path;
}
int main(int argc,char* argv[]){
    string name(getOwnerPath());
    std::cout<<name;
    return 0; 
}

猜你喜欢

转载自blog.csdn.net/mayh554024289/article/details/51788281