C

使用 openat() 進行路徑解析有什麼缺點嗎?

  • October 16, 2020

的手冊頁openat(2)描述了與 相比的許多優點open(2),但似乎沒有包含任何缺點。

手動連接 C 中的路徑可能會很痛苦(假設一個人不想/不能將大部分分配邏輯解除安裝到asprintf(3),不幸的是這不是 POSIX 的一部分),所以我正在考慮獲取一個文件描述符一個基本目錄,並使用它來訪問相對於帶有 . 的目錄的文件openat(2)

這種方法有什麼缺點嗎?

有一個缺點:openat以這種方式使用需要額外的文件描述符。

據我所知,這是唯一的一個(在我看來,這是一個次要的)。

引用自:https://unix.stackexchange.com/questions/614776