C
使用 openat() 進行路徑解析有什麼缺點嗎?
的手冊頁
openat(2)
描述了與 相比的許多優點open(2)
,但似乎沒有包含任何缺點。手動連接 C 中的路徑可能會很痛苦(假設一個人不想/不能將大部分分配邏輯解除安裝到
asprintf(3)
,不幸的是這不是 POSIX 的一部分),所以我正在考慮獲取一個文件描述符一個基本目錄,並使用它來訪問相對於帶有 . 的目錄的文件openat(2)
。這種方法有什麼缺點嗎?
有一個缺點:
openat
以這種方式使用需要額外的文件描述符。據我所知,這是唯一的一個(在我看來,這是一個次要的)。