[問題] linux c: fd = open(...)取得 fd 的路徑

看板C_and_CPP (C/C++)作者 (總是很多心事)時間12年前 (2013/09/05 10:56), 編輯推噓2(205)
留言7則, 4人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux C 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 如何在已開啟的 fd 中取得他的路徑, 想在 close(fd) 前取得 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) int main(){ int fd = open("/home/user/test.bin", O_RDWR | O_CREAT | O_APPEND); ... //在 close 前取得 /home/user/test.bin 字串 close(fd); return 0; } 補充說明(Supplement): 剛搜尋了一下有找到 fstatfs(...) 但好像沒有路徑資訊 不曉得有解嗎? 感恩 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.231.100.109 ※ 編輯: cris122 來自: 61.231.100.109 (09/05 10:57)

09/05 10:58, , 1F
為何不在open前就存起來?
09/05 10:58, 1F

09/05 11:14, , 2F
贊成樓上XD 如果硬要找的話.. 直接去/proc/self/fd裡面挖?
09/05 11:14, 2F

09/05 11:21, , 3F
stackoverflow.com/questions/1406679
09/05 11:21, 3F

09/05 13:10, , 4F
open時就知道的事情 不就已經結束了嗎
09/05 13:10, 4F

09/05 13:21, , 5F
別的 module 開的檔? 前一個 process 開起來 exec 這個程式?
09/05 13:21, 5F

09/05 13:22, , 6F
真的需要的時候來找非常手段不過份吧?
09/05 13:22, 6F

09/05 13:45, , 7F
因為他的code有open所以才問是否真的需要非常手段
09/05 13:45, 7F
文章代碼(AID): #1I9_B7JX (C_and_CPP)
文章代碼(AID): #1I9_B7JX (C_and_CPP)