国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

Linux|Centos|Ubuntu|系統(tǒng)進(jìn)程|Fedora|注冊表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服務(wù)器之家 - 服務(wù)器系統(tǒng) - Linux - linux中通過文件描述符獲取文件絕對路徑的方法

linux中通過文件描述符獲取文件絕對路徑的方法

2021-12-15 16:26Linux教程網(wǎng) Linux

下面小編就為大家?guī)硪黄猯inux中通過文件描述符獲取文件絕對路徑的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在linux中,有時候我們只知道文件描述符卻不知道它的名字及其完整的路徑,如果我們想獲取其路徑該怎么辦呢?其實(shí)很簡單,在linux中每個被打開的文件都會在/proc/self/fd/目錄中有記錄,其中(/proc/self/fd/文件描述符號)的文件就是文件描述符所對應(yīng)的文件。說道這里我們先停下了說一個函數(shù):

readlink(取得符號連接所指的文件)

相關(guān)函數(shù) stat,lstat,symlink

表頭文件 #include <unistd.h>

定義函數(shù) int readlink (const char *path, char *buf, size_t bufsiz);

函數(shù)說明 readlink()會將參數(shù)path的符號連接內(nèi)容存到參數(shù)buf所指的內(nèi)存空間,返回的內(nèi)容不是以NULL作字符串結(jié)尾,但會將字符串的字符數(shù)返回。若參數(shù)bufsiz小于符號連接的內(nèi)容長度,過長的內(nèi)容會被截?cái)唷?/p>

返回值 執(zhí)行成功則傳符號連接所指的文件路徑字符串,失敗則返回-1,錯誤代碼存于errno。

錯誤代碼 EACCESS 取文件時被拒絕,權(quán)限不夠

EINVAL 參數(shù)bufsiz 為負(fù)數(shù)
EIO I/O 存取錯誤。
ELOOP 欲打開的文件有過多符號連接問題。
ENAMETOOLONG 參數(shù)path的路徑名稱太長
ENOENT 參數(shù)path所指定的文件不存在
ENOMEM 核心內(nèi)存不足
ENOTDIR 參數(shù)path路徑中的目錄存在但卻非真正的目錄。


綜合上述得出如下簡單函數(shù)來獲取文件路徑:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
std::string get_file_name (const int fd)
{
  if (0 >= fd) {
    return std::string ();
  }
 
  char buf[1024] = {'\0'};
  char file_path[PATH_MAX] = {'0'}; // PATH_MAX in limits.h
  snprintf(buf, sizeof (buf), "/proc/self/fd/%d", fd);
  if (readlink(buf, file_path, sizeof(file_path) - 1) != -1) {
    return std::string (file_path);
  }
 
  return std::string ();
}

以上這篇linux中通過文件描述符獲取文件絕對路徑的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持服務(wù)器之家。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 亚洲电影第三页 | 羞羞动漫网 | 黄毛片网站 | 午夜视频 | 成人午夜精品久久久久久久蜜臀 | 99亚洲| 91精品国产91久久久久久吃药 | 精品国产欧美一区二区三区成人 | 亚洲成人精品视频 | 国产成人精品视频 | 九九久久精品 | 日本全黄裸体片 | 久久久精品蜜桃 | 中文字幕日韩视频 | 久久99精品久久久久久久青青日本 | 欧美午夜精品久久久久久浪潮 | 久久精品视频一区 | 国产美女精品人人做人人爽 | 韩日精品一区 | 一级黄色免费片 | 久久国产精品一区二区 | 中文字幕天堂在线 | 在线欧美亚洲 | av黄色网 | 在线播放国产精品 | 素人av在线 | 日韩国产一区二区三区 | 日本黄色美女视频 | av一区二区在线观看 | 欧美一区二区三区男人的天堂 | 国产色网| 人人干天天干 | 亚洲精品短视频 | 欧美电影在线观看网站 | 激情综合五月网 | 久久国产免费 | 黄色免费网站 | 亚洲精品久久久久久久久久久久久 | 久久中文字幕一区二区 | 在线色网站 | 国产一区二区三区久久 |