关于linux 里的opendir 和readdir

tolairy 2011-04-23 05:13:52
这两个函数里面都有path参数,是绝对路径还是相对路径
...全文
1261 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
u_buntu 2011-06-20
  • 打赏
  • 举报
回复
#include <dirent.h>
DIR *opendir(const char *pathname)
struct dirent *readdir(DIR *dp);

首先,只有opendir才有pathname这个参数,
readdir的参数,是opendir的返回值。

opendir中pathname这个参数既可以用绝对路径
也可以用相对路径,那得看你要看查看的目录在哪里。
绝对路径以“/”开头,相对路径以“.”开头。

---------------------------------

更多技术文章敬请关注:武汉华嵌-嵌入式培训专家,国内领先的嵌入式服务机构,

http://www.embedhq.org
星空仰望者 2011-05-03
  • 打赏
  • 举报
回复
都可以
你输入的参数以 / 打头,就是绝对路径
否则就是相对路径,当前的工作路径/输入参数
cneyo 2011-05-02
  • 打赏
  • 举报
回复
相对路径和绝对路径都可以。绝对路径很简单,如果是相对路径,就是相对于当前进程的工作路径!
yong_f 2011-04-28
  • 打赏
  • 举报
回复
写几行代码测试一下,很快就搞定
qiyu1988 2011-04-28
  • 打赏
  • 举报
回复
写几行代码测试一下,很快就搞定
  • 打赏
  • 举报
回复
两个都行
如果是绝对的,那没啥好说,绝对正确
如果是相对的,那就等于:进程当前路径/相对路径
JUSTACY 2011-04-23
  • 打赏
  • 举报
回复
只是一个路径而已,给啥就是啥。
hawk198 2011-04-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zxt6405 的回复:]

这么解释吧。

首先相对路径和绝对路径是怎么区分的?
我没记错的话,是看表示路径的字符串的第一个是不是“/”,是“/”就是绝对路径,不是“/”就是相对路径。
相对路径和绝对路径的区别被隐藏在了字符串的编码中。你的程序只知道这是个字符串,两种路径的区别被隐藏起来了。你的程序不用去为此费心。
opendir函数和readdir函数以及其他函数会在执行过程中区分这两种路径的。
[/Quote]
这个解释正解,通俗易懂
对于这2个函数来说是没有绝对和相对之分的,只有路径存在或不存在的区别
ericming200409 2011-04-23
  • 打赏
  • 举报
回复
都可以,如果你给的路径以/开头, 那就是绝对路径,否则,就当做相对路径来处理
zaghost 2011-04-23
  • 打赏
  • 举报
回复
都可以的 给的是绝对路径就绝对路径,给的是相对路径就读相对路径
zxt6405 2011-04-23
  • 打赏
  • 举报
回复
这么解释吧。

首先相对路径和绝对路径是怎么区分的?
我没记错的话,是看表示路径的字符串的第一个是不是“/”,是“/”就是绝对路径,不是“/”就是相对路径。
相对路径和绝对路径的区别被隐藏在了字符串的编码中。你的程序只知道这是个字符串,两种路径的区别被隐藏起来了。你的程序不用去为此费心。
opendir函数和readdir函数以及其他函数会在执行过程中区分这两种路径的。
justkk 2011-04-23
  • 打赏
  • 举报
回复
ls 命令后面跟一个路径,这个路径是相对路径?还是绝对路径?
steptodream 2011-04-23
  • 打赏
  • 举报
回复
这跟相对路径和绝对路径无关

你给哪个他就读哪个 你给./sdfsdf 他肯定就读./sdfsdf 你给/sdfsdf 他就读/sdfsdf

23,121

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧