这是linux内核文件打开系统调用的函数原型。
请问filename传进来的是文件的绝对路径还是相对路径?
如果是相对路径,有什么办法可以获取它的绝对路径?
2.6.32获取当前目录:
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)
char * getcwd(char * buf, size_t size)
{
struct path pwd;
char *p;
if (!buf || (size <= 0))
return NULL;
read_lock(¤t->fs->lock);
pwd = current->fs->pwd;
path_get(&pwd);
read_unlock(¤t->fs->lock);
p = d_path(&pwd, buf, size);
read_lock(¤t->fs->lock);
path_put(&pwd);
read_unlock(¤t->fs->lock);
if (IS_ERR(p))
return NULL;
return p;
}
#endif
int sys_open(const char * __user filename, int flags, int mode);
答案:2 悬赏:0
解决时间 2021-03-02 20:31
- 提问者网友:优雅ぉ小姐
- 2021-03-01 22:14
最佳答案
- 二级知识专家网友:留下所有热言
- 2021-03-01 22:25
还真没想出什么获取绝对路径的办法。。会不会就是绝对路径呢?
全部回答
- 1楼网友:陪我到地狱流浪
- 2021-03-01 22:39
任务占坑
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯