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

文件指針和文件句柄

發布時間: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運行在用戶態。

閱讀全文

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

熱點內容
maya粒子表達式教程 瀏覽:84
抖音小視頻如何掛app 瀏覽:283
cad怎麼設置替補文件 瀏覽:790
win10啟動文件是空的 瀏覽:397
jk網站有哪些 瀏覽:134
學編程和3d哪個更好 瀏覽:932
win10移動硬碟文件無法打開 瀏覽:385
文件名是亂碼還刪不掉 瀏覽:643
蘋果鍵盤怎麼打開任務管理器 瀏覽:437
手機桌面文件名字大全 瀏覽:334
tplink默認無線密碼是多少 瀏覽:33
ipaddgm文件 瀏覽:99
lua語言編程用哪個平台 瀏覽:272
政采雲如何導出pdf投標文件 瀏覽:529
php獲取postjson數據 瀏覽:551
javatimetask 瀏覽:16
編程的話要什麼證件 瀏覽:94
錢脈通微信多開 瀏覽:878
中學生學編程哪個培訓機構好 瀏覽:852
榮耀路由TV設置文件共享錯誤 瀏覽:525

友情鏈接