readlink 獲取符號鏈結,獲取檔案絕對路徑

2021-09-06 09:48:27 字數 765 閱讀 9647

相關函式: stat, lstat, symlink

表頭檔案: #include

定義函式:ssize_t readlink(const char *path, char *buf, size_t bufsiz);

函式說明:readlink()會將引數path的

符號鏈結內容儲存到引數buf所指的記憶體空間,返回的內容不是以\000作字串結尾,但會將字串的字元數返回,這使得新增\000變得簡單。若引數bufsiz小於符號連線的內容長度,過長的內容會被截斷,如果 readlink 第乙個引數指向乙個檔案而不是

符號鏈結時,readlink 設 置errno 為 einval 並返回 -1。 readlink()函式組合了open()、read()和close()的所有操作。

返回值 :執行成功則返回字串的字元數,失敗返回-1, 錯誤**存於errno

執行成功則返回ssize_t

錯誤**:

eaccess 取檔案時被拒絕,許可權不夠

einval 引數bufsiz為負數

eio o訪問錯誤

eloop 欲開啟的檔案有過多符號連線問題

enametoolong 引數path的路徑名稱太長

enoent 引數path所指定的檔案不存在

enomem 核心記憶體不足

enotdir 引數path路徑中的目錄存在但卻非真正的目錄

php 5. 3.0 後在windows下可實現。

readlink -e $filename 可以獲取檔案的絕對路徑

通過鏈結獲取Html原始碼內容

通過鏈結獲取網頁原始碼 public static string getcontenfrommurl string url 獲取指定div的內容 被篩選的字串 id名 public static string getdivfromstr string strhtml 替換指定 html 返回替換後的...

使用readlink讀取鏈結檔案指向的內容

有時我們需要讀取鏈結檔案指向的內容,比如,給定乙個程序的fd,我們想知道這個fd具體是什麼東西,那麼,就可以在 proc fd目錄下看到該fd指向的內容,只不過這個目錄下該fd是乙個鏈結檔案,我們需要的是該檔案指向的內容。此時就可以用readlink這個system call,具體用法很簡單,比如 ...

readlink函式 獲取程式的執行路徑

readlink 取得符號連線所指的檔案 相關函式 stat,lstat,symlink 表頭檔案 include 定義函式 int readlink const char path char buf,size t bufsiz 函式說明 readlink 會將引數path的符號連線內容存到引數bu...