1、文件句柄:
在文件I/O中,要從一個文件讀取數(shù)據(jù),應(yīng)用程序首先要調(diào)用操作系統(tǒng)函數(shù)並傳送文件名,並選一個到該文件的路徑來打開文件。該函數(shù)取回一個順序號,即文件句柄(file handle),該文件句柄對於打開的文件是唯一的識別依據(jù)。
摘自:http://www.twword.com/wiki/%E6%96%87%E4%BB%B6%E5%8F%A5%E6%9F%84
2、句柄
所謂句柄實(shí)際上是一個數(shù)據(jù),是一個Long (整長型)的數(shù)據(jù)。
句柄是WINDOWS用來標(biāo)識被應(yīng)用程序所建立或使用的對象的唯一整數(shù),WINDOWS使用各種各樣的句柄標(biāo)識諸如應(yīng)用程序?qū)嵗?,窗口,控制,位圖,GDI對象等等。WINDOWS句柄有點(diǎn)象C語言中的文件句柄。
在操作系統(tǒng)層面上,文件操作也有類似于FILE的一個概念,在Linux里,這叫做文件描述符(File Descriptor),而在Windows里,叫做句柄(Handle)(以下在沒有歧義的時(shí)候統(tǒng)稱為句柄)。用戶通過某個函數(shù)打開文件以獲得句柄,此 后用戶操縱文件皆通過該句柄進(jìn)行。
設(shè)計(jì)這么一個句柄的原因在于句柄可以防止用戶隨意讀寫操作系統(tǒng)內(nèi)核的文件對象。無論是Linux還是Windows,文件句柄總是和內(nèi)核的文件對象相關(guān)聯(lián)的,但如何關(guān)聯(lián)細(xì)節(jié)用戶并不可見。內(nèi)核可以通過句柄來計(jì)算出內(nèi)核里文件對象的地址,但此能力并不對用戶開放。
在C語言里,操縱文件的渠道則是FILE結(jié)構(gòu),不難想象,C語言中的FILE結(jié)構(gòu)必定和fd有一對一的關(guān)系,每個FILE結(jié)構(gòu)都會記錄自己唯一對應(yīng)的FD。
摘自:http://www.cnblogs.com/meihao1989/p/3914608.html
http://blog.csdn.net/dlutbrucezhang/article/details/9319577