QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2893|回复: 2

如何获得当前运行程序的绝对路径?

[复制链接]
发表于 2004-4-19 10:50:53 | 显示全部楼层 |阅读模式
想在应用程序执行时打开同一目录下的文件,发现只有使用绝对路径才能正确打开,而只用文件名传给调用函数时就是不对。
用getwd()函数得到的当前工作路径总是/root,无论当前运行程序放在哪个目录下。

想知道Linux下通过什么函数,如何获得当前运行函数的绝对路径呢?
Windows下有GetModuleFileName()函数可以实现此功能。
 楼主| 发表于 2004-4-19 11:46:50 | 显示全部楼层
感谢mozilla斑竹以前的帖子:

#include <stdio.h>
#include <dirent.h>

main()
{
        char exePath[NAME_MAX+1];
        char fullPath[NAME_MAX+1];
        sprintf(exePath,"/proc/%d/exe",getpid());
        readlink(exePath,fullPath,NAME_MAX);
        printf("%s\n",fullPath);
        getchar();
}
回复

使用道具 举报

发表于 2004-4-19 14:31:56 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-8 14:01 , Processed in 0.084220 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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