1、檔案描述符:
在linux系統中,裝置都是以檔案的形式存在,要想操作裝置必須得開啟這個檔案,開啟這個檔案就可以獲得檔案描述符,它是乙個非負整數,指向核心為每個程序所維護的程序的檔案的記錄表,每個表都有指向打 開檔案的指標。
2、檔案指標:
c語言當中用乙個指標變數指向乙個檔案。c語言當中使用的是檔案指標而不是檔案描述符做為i/o的控制代碼。檔案指標指向程序使用者區中的乙個被稱為file結構的資料結構。file結構包含乙個緩衝區和乙個檔案描述符。
檔案描述符是唯一的,但是檔案指標不是唯一的,檔案指標指向的物件是唯一的。
從上圖我們可以看到:
1、檔案描述符可以看成是陣列的下標,通過下標找到檔案結構體的位址,從而可以操作檔案。
2、檔案描述符預設使用當前可用範圍內的最小的。比如已經陣列下標0-20都用了,此時將15關閉了,那麼這個15已經空出來了。此時再次開啟檔案,則檔案描述符為15,而不是21;
3、linu規定了3個檔案描述符:
0-標準輸入;
1-標準輸出;
2-標準錯誤;
二 檔案I O 1 檔案描述符號
對於核心而言,所有開啟的檔案都通過檔案描述符號引用。檔案描述符是乙個非負整數。當開啟乙個現有檔案或建立乙個新檔案時候,核心向程序返回乙個檔案描述符。當讀或寫乙個檔案時候,使用open或creat返回的檔案描述符標識該檔案,將作為引數傳給read或write。在依從posix portable ope...
WINSOCK基礎知識(套接字描述符)
引子.大多數的作業系統裡,需要i o請求的應用程式請求作業系統開啟乙個檔案。系統就建立乙個檔案描述符提供給應用程式訪問檔案。從應用程式的角度看,檔案描述符是乙個整數,應用程式可以用它來讀寫檔案。下圖顯示,作業系統如何把檔案描述符實現為乙個指標陣列,這些指標指向內部資料結構。對於每個程式系統都有一張單...
0998 檔案描述符及重定向
1 介紹 檔案描述符是與檔案輸入 輸出相關的整數。它們用來跟蹤已開啟的檔案。最常見的檔案描述符是stdin stdout和stderr。我們甚至可以將某個檔案描述符的內容重定向到別乙個檔案描述符中。下面給出一些對檔案描述符進行操作和重定向的例子。在編寫指令碼時會頻繁使用標準輸入 標準輸出 標準錯誤。...