使用 openat() 进行路径解析有什么缺点吗?

使用 openat() 进行路径解析有什么缺点吗?

的手册页openat(2)描述了它与 相比的很多优点open(2),但似乎没有包含任何缺点。

手动连接 C 中的路径可能会很痛苦(假设不想/无法将大部分分配逻辑卸载到asprintf(3),不幸的是这不是 POSIX 的一部分),所以我正在考虑获取一个文件描述符一个基本目录,并使用它来访问相对于该目录的文件openat(2)

这种方法有什么缺点吗?

答案1

有一个缺点:openat以这种方式使用需要额外的文件描述符。

据我所知,这是唯一的一个(在我看来,这是一个次要的)。

相关内容