日期:2014-05-16  浏览次数:20675 次

一个程序如何得到自己所在的目录?
请问程序如何得到自己所在目录的绝对路径?

------解决方案--------------------
#include <unistd.h>
#include <sys/types.h>
#include <unistd.h>


int main()
{
char buf1[512],buf2[512];
pid_t pid;

pid=getpid();
memset(buf1,0,sizeof(buf1));
memset(buf2,0,sizeof(buf2));
sprintf(buf1, "/proc/%d/exe ",pid);
readlink(buf1, buf2, sizeof(buf2));

printf( "%s\n ",buf2);
}

---------------------------
Linux shwhg.weds 2.6.9-34.EL #1 Wed Mar 8 00:07:35 CST 2006 i686 i686 i386 GNU/Linux
gcc version 3.4.4 20050721 (Red Hat 3.4.4-2)
测试通过



------解决方案--------------------
楼上兄弟正解

还可以通过读/proc下面相应的PID值目录下的cmdline文件也可以
不过有点复杂