linux获取当前绝对路径
来源:互联网 发布:linux中断机制 编辑:程序博客网 时间:2024/05/22 06:55
转载来源http://walkerqt.blog.51cto.com/1310630/1029395
1、Shell版
1
2
#获取当前脚本所在绝对路径
cur_dir=$(
cd
"$(dirname "
$0
")"
;
pwd
)
2、C语言版
方法一:用realpath函数。这种方法用于开机启动程序获取自身目录会出错。
1
2
3
4
5
6
7
8
9
char
current_absolute_path[MAX_SIZE];
//获取当前目录绝对路径
if
(NULL == realpath(
"./"
, current_absolute_path))
{
printf
(
"***Error***\n"
);
exit
(-1);
}
strcat
(current_absolute_path,
"/"
);
printf
(
"current absolute path:%s\n"
, current_absolute_path);
方法二:用getcwd函数。这种方法用于开机启动程序获取自身目录会出错。
1
2
3
4
5
6
7
8
char
current_absolute_path[MAX_SIZE];
//获取当前目录绝对路径
if
(NULL == getcwd(current_absolute_path, MAX_SIZE))
{
printf
(
"***Error***\n"
);
exit
(-1);
}
printf
(
"current absolute path:%s\n"
, current_absolute_path);
方法三:用readlink函数。这种方法最可靠,可用于开机启动程序获取自身目录。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
char
current_absolute_path[MAX_SIZE];
//获取当前程序绝对路径
int
cnt = readlink(
"/proc/self/exe"
, current_absolute_path, MAX_SIZE);
if
(cnt < 0 || cnt >= MAX_SIZE)
{
printf
(
"***Error***\n"
);
exit
(-1);
}
//获取当前目录绝对路径,即去掉程序名
int
i;
for
(i = cnt; i >=0; --i)
{
if
(current_absolute_path[i] ==
'/'
)
{
current_absolute_path[i+1] =
'\0'
;
break
;
}
}
printf
(
"current absolute path:%s\n"
, current_absolute_path);
0 0
- linux获取当前绝对路径
- Linux C 获取当前应用程序的绝对路径
- linux下获取程序当前目录绝对路径
- linux下获取程序当前目录绝对路径
- linux下获取程序当前目录绝对路径
- Linux C 获取当前应用程序的绝对路径
- linux下获取程序当前目录绝对路径
- linux下获取程序当前目录绝对路径
- linux下获取程序当前目录绝对路径
- linux下获取程序当前目录绝对路径
- Linux下获取当前程序的绝对路径
- linux下获取程序当前目录绝对路径
- Linux C 获取当前应用程序的绝对路径
- 获取当前工作绝对路径
- 获取当前脚本绝对路径
- 获取当前相对绝对路径
- 获取当前相对绝对路径
- [转]linux shell 获取当前正在执行脚本的绝对路径
- 没事儿找事儿————gtk学习(用盒状容器排列控件)
- 黑马程序员_this关键字
- cocos2d-x备忘录
- Android控件之ZoomControls缩放控件
- (standard c libraries translation )bcmp家族
- linux获取当前绝对路径
- Starling之动态纹理
- spring和mybatis自动判断dao操作类型分库查询
- 数据库_jdbc_dbutils的使用+存储复杂对象
- C++语言的15个晦涩特性
- JS 限制文本框只能输入数字
- versionCode与versionName的区别
- IOS 中的 _cmd 代表本方法的名称
- ios绘制虚线