//获取拉起程序所在路径
string getOwnerPath()
{
char path[1024];
int cnt = readlink("/proc/self/exe",path,1024);
if(cnt<0||cnt>=1024)
{
return "";
}
for(int i=cnt;i>=0;--i)
{
if(path[i]=='/')
{
path[i+1]='\0';
break;
}
}
return string(path);
}
bool changeExePath(string &pPath)
{
pPath = getOwnerPath();
if(" " != pPath)
{
if(0 == chdir(pPath.c_str()))
{
return true;
}
}
return false;
}
int main(int argc, char * argv[])
{
string cPath = "";
if(changeExePath)
{
printf("EXE EXCUTE CHANGE SUCCESS! THE PATH IS %s.",cPath.c_str());
}
else
{
printf("EXE EXCUTE CHANGE FAIL!");
}
return 0;
}