一个程序如何得到自己所在的目录?
请问程序如何得到自己所在目录的绝对路径?
------解决方案--------------------#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文件也可以
不过有点复杂