QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1291|回复: 3

如何得到正在执行程序的文件所在路径??(不是工作目录!)

[复制链接]
发表于 2004-10-16 16:53:49 | 显示全部楼层 |阅读模式
如何得到正在执行程序的文件所在路径??(不是工作目录!)
虽然问题很小但至今不知怎么办!
发表于 2004-10-16 17:12:46 | 显示全部楼层
ps -aux 应该可以看到吧
回复

使用道具 举报

发表于 2004-10-16 19:09:31 | 显示全部楼层
读链接/proc/进程号/exe
回复

使用道具 举报

 楼主| 发表于 2004-10-22 09:07:14 | 显示全部楼层
太感谢了!!!
"读链接/proc/进程号/exe "真的可以!!
为了让有同样问题的人快速解决问题我把我编的程序段给大家看看:
void changeToExePath()
{
       int pid,i;
       int int1,int2;
       char *linkpath=(char*)malloc(1000);
       char *buf=(char*)malloc(1000);
       char string[10];
       pid=getpid();
       strcopy(linkpath,"/proc/");
       strcat(linkpath,fvct((double)pid,0,&int1,&int2));   //fcvt是转换整数到string
       strcat(linkpath,"exe");
       readlink(linkpath,buf,1000);                            //读联接得到真实目标路径
       for(i=strlen(buf),i>-1;i--)
            if(buf='/')
              break;
      buf[i+1]='\0';
      chdir(buf);              //改变当前工作目录到程序的路径
    mkdir("aa",0);        //aa文件夹将建立在程序同一目录
}
因为以上代码是在学校机房打的,可能有疏漏,不过大致如此.
这样一些需要读取同目录中文件的程序,放在任何地方都可以双击运行了!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-7 07:43 , Processed in 0.043579 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表