国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

詳解Linux下的文件標述符和文件指針

2019-10-26 18:52:40
字體:
來源:轉載
供稿:網友

   Linux下的文件標述符和文件指針

文件標識符:

首先我們來了解一下文件標識符是什么東西?

文件描述符是計算機科學中的一個術語,是一個用于表述只想文件的引用的抽象化概念。

在linux當中,每個進程會在進程控制塊(PCB)當中保存著一份文件描述符表,文件描述符就是這個表的索引,每個表都有一個指

向已經打開文件的指針。

每個linux進程都應該有三個標準的文件描述符,對應三個標準流。

整數值 名稱 (unistd.h)符號常量 (stdio.h)文件流
0 Standard input STDIN_FILENO stdin
1 Standard output STDOUT_FILENO stdout
2 Standard error STDERR_FILENO stderr

文件描述符在形式上是一個非負整數,實際上,它是一個索引值,指向內核為每一個進程所維護的該進程打開文件的記錄表。當程

序打開一個現有文件或者創建一個新文件時,內核向進程返回一個文件描述符。在程序設計中,一些涉及底層的程序編寫往往會圍

繞著文件描述符展開。但是文件描述符這一概念往往只適用于UNIX、Linux這樣的操作系統

與文件描述符相關的操作:

功能 操作
文件描述符生成 open()、socket()、pipe()等
與單一文件描述符相關的操作 read()、write()、send()、fchmod()等
與復數文件描述符相關的操作 select()、poll()等
與文件描述符表相關度的操作 close()、dup()等

文件指針:

文件指針是C語言當中我們所學習的東西,C語言當中用一個指針變量指向一個文件,這個指針就被稱為文件指針。通過文件指針我們可以對所指的文件進行各種的操作。C語言當中使用的是文件指針而不是文件描述符做為I/O的句柄。文件指針指向進程用戶區中的一個被稱為FILE結構的數據結構。FILE結構包含一個緩沖區和一個文件描述符。

文件指針式C語言的通用的格式,所以相對來說,更加便于移植.

我們通常來獲取文件指針:

FILE *fp = fopen("test.txt","r");

獲取到指針以后,我們就可以獲得指針當中文件描述符的信息。

文件描述符是唯一的,但是文件指針不是唯一的,文件指針指向的對象是唯一的。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 滦平县| 晴隆县| 钟山县| 阜康市| 阳春市| 周至县| 新绛县| 石嘴山市| 奉新县| 蕉岭县| 武陟县| 阳曲县| 定边县| 霸州市| 鹰潭市| 武穴市| 贺兰县| 庆云县| 清水河县| 云梦县| 孟村| 铜川市| 富川| 阆中市| 大邑县| 和平县| 柘荣县| 石阡县| 扶风县| 福建省| 阿拉善右旗| 景东| 盐城市| 中方县| 来安县| 偃师市| 中江县| 克山县| 女性| 惠东县| 濮阳市|