歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Unix - 文件中構成一個空洞的分析

Unix - 文件中構成一個空洞的分析

日期:2017/3/1 9:26:01   编辑:Linux編程

lseek函數顯示地為一個打開文件設置偏移量,文件偏移量可以大於文件的當前長度,在這種情況下,對該文件的下一次寫將加長該文件,並在文件中構成一個空洞,這一點是允許的。位於文件中但沒有寫過的字節都被讀為0。

eg:

holeFile.c函數創建了一個具有空洞的文件,運行觀察:

可以看到,文件中的30個未寫入字節都被設置讀為0。每一行開始的一個7位數是以八進制形式表示的字節偏移量。

將剛創建的文件與同樣長度但舞空洞的文件進行比較

雖然兩個文件的長度相同,但無空洞文件占用了20個磁盤塊,而具有空洞的文件只占用了8個磁盤塊。

Copyright © Linux教程網 All Rights Reserved