導航:首頁 > 文件教程 > 文件指針和文件句柄

文件指針和文件句柄

發布時間:2023-03-15 07:18:23

文件指針是什麼文件指針的值又是什麼

在文件操作系統中,同時打開的文件個數是受限的,因此在操作系統中對於文件的操作專門設置了一個區域,這個區中為每個文件操作開設了一塊操作數據區,其中每個區對應一個文件操作,記錄文件位置,當前文件指針位置等,如果進行文件操作需要獲得系統分配的一塊有效的數據區,這個數據區的編號就是文件句柄,在c中是FILE*類型

操作數據區中,有一個文件指針,存放當前可讀寫文件位置,是一個位元組計數值,在打開當前文件後,這個指針指向文件第1個字元,取值是0,那麼如果馬上讀寫文件都是從文件第1個位元組開始,假定寫入或讀取了1個位元組內容,文件指針在操作完成後自動變為1,指向下一個可操作的位置。文件指針可以順序後移(增加值)也可以前移(減少值)當然要藉助特殊函數。

假定要獲取文件尺寸,可以在打開文件後(文件指針內容為0)利用文件指針操作函數(比如feek)令文件指針轉到文件尾部,這時文件指針取值就是文件的實際位元組數了。

linux 中 open和fopen的區別

Linux中open與fopen區別如下:

1、來源

從來源的角度看,兩者能很好地區分開,這也是最顯而易見的區別:

①open是Unix系統調用函數,返回的是文件描述符,它是文件在文件描述符表裡的索引;

②fopen是ANSIC標准中的C語言庫函數,在不同的系統中應該調用不同的內核api。返回的是一個指向文件結構的指針。

2、移植性

這一點從上面的來源可以推斷出來,fopen是C標准函數,因此擁有良好的移植性,而open是Unix系統調用,移植性有限。如Windows下相似的功能使用API函數CreateFile。

3、適用范圍

①open返迴文件描述符,而文件描述符是Unix系統下的一個重要概念,Unix下的一切設備都是以文件的形式操作。如網路套接字、硬體設備等。當然包括操作普通正規文件。

②fopen是用來操縱普通正規文件。

4、文件IO層次

如果從文件IO的角度來看,前者屬於低級IO函數,後者屬於高級IO函數。低級和高級的簡單區分標準是:誰離系統內核更近。低級文件IO運行在內核態,高級文件IO運行在用戶態。

閱讀全文

與文件指針和文件句柄相關的資料

熱點內容
mac給文件夾添加快捷方式到桌面 瀏覽:221
如何提高配套文件科學性 瀏覽:552
免費qq在線客服代碼 瀏覽:615
網路攝像機和麥克風的使用點不了 瀏覽:872
win10資源文件夾卡死 瀏覽:431
聯想筆記本如何添加網路連接 瀏覽:821
釘釘文件下載到微信用哪個瀏覽器 瀏覽:252
word怎麼刪掉第一頁 瀏覽:215
為什麼小米5不能升級系統 瀏覽:768
復古攝影教程 瀏覽:803
u盤里文件顯示文件夾空 瀏覽:574
如何編程年月日的進制 瀏覽:351
升級電腦硬體注意什麼 瀏覽:827
cnc銑床多主軸如何編程 瀏覽:640
怎麼下載網站所有圖片 瀏覽:967
遠程傳文件最快的軟體下載 瀏覽:425
怎麼弄電影網站 瀏覽:209
淘寶編程培訓班怎麼樣 瀏覽:732
公文系統物理文件 瀏覽:903
c語言編程變數冪怎麼寫 瀏覽:73

友情鏈接