1. 程式人生 > >檔案IO(檔案位置偏移量)

檔案IO(檔案位置偏移量)

每一個檔案被開啟之後,核心都維護一個所謂的當前檔案位置偏移量,讀和寫操作都會對這個偏移量產生影響。

拓展:

檔案位置偏移量被存放到核心的file結構體中,應用程式可以通過lseek()/和fseek()來調整。需要額外注意的是:

第一:每執行一次open()/fopen()核心就會記錄一個檔案位置偏移量,這意味著多次開啟同一個檔案時,核心會記錄多個獨立的“檔案位置偏移量”,這種特性有利於多執行緒操作檔案。

第二:針對一次檔案開啟操作,讀和寫影響的是同一個檔案位置偏移量。

第三:管道型檔案(比如fifo、socket、pipe)不可以設定檔案位置偏移量。