日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

文件流、目录流、文件描述符总结

發布時間:2023/12/20 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 文件流、目录流、文件描述符总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文件流、目錄流、文件描述符總結


宗旨:技術的學習是有限的,分享的精神是無限的。


? ? ? ? 內核為使當前進程與進程打開的文件建立聯系,在進程PCB(一個結構體task_struct)中使用一個成員來指向關于打開文件列表的結構體struct file_struct,而該結構體中的struct file *fd_array[]是一個指針數組,指向每個打開的文件信息。內核將這個數組中每個成員的下標值(int 型)傳遞給用戶控件來標識該打開的文件,該值即文件描述符。

? ? ? ? 為了提高執行效率和可移植性,glibc庫在用戶空間申請了一個FILE *結構體對象,該結構體中的一個成員就是對應打開的文件描述符值,即文件流在文件描述符之上的封裝。文件流通過增加緩沖區減少讀寫系統調用次數來提高讀寫效率。

? ? ? ? 目錄流是針對目錄操作而構建的對象。其基本操作類似于文件流操作。

? ? ? ? ANSI文件IO是使用文件流操作,POSIX文件IO是使用文件描述符來操作,文件流是在內核提供的文件描述符基礎上,在進程的用戶空間封裝的FILE結構,以提高可移植性和效率。

操作

文件流(普通文件)

目錄流(目錄文件)

文件描述符

描述方法

文件流指針FILE *

目錄流指針 DIR *

文件描述符int

打開

fopen

opendir

open

fread/fgets/fgetc

readdir

read

fwrite/fputs/fputc

創建文件或目錄

write

定位

fseek/ftell/rewind

seekdir/telldir/rewinddir

lseek

?

總結

以上是生活随笔為你收集整理的文件流、目录流、文件描述符总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。