檔案長度 檔案截斷(UNIX環境高階程式設計筆記)

2021-09-18 05:01:58 字數 533 閱讀 6207

檔案長度

stat結構成員st_size表示以位元組為單位的檔案的長度。此字段只對普通檔案、目錄檔案和符號鏈結有意義。

對於普通檔案,其長度可以是0,在開始讀這種檔案時,將得到檔案結束(end-of-file)指示。對於目錄,檔案長度通常是乙個數(如16或512)的整倍數。對於符號鏈結,檔案長度是在檔名中的實際位元組數。

(注意,因為符號鏈結檔案長度總是由st_size指示,所以他並不包含通常c語言用做名字結尾的null位元組。)

檔案截斷

為了截斷檔案可以呼叫函式truncate和ftruncate。

#include

int truncate(const char *pathname, off_t length);

int ftruncate(int fd, off_t length)

這兩個函式講乙個現有檔案長度截斷為length。如果該檔案以前的長度大於length,則超過length以外的資料就不能再訪問。如果一千的長度小於length,檔案的長度將增加,在以前的檔案尾端和新的檔案尾端之間的資料將讀作0。

unix環境程式設計 檔案I O

unix 系統支援不同程序共享開啟檔案,下面解說核心用於所有i o的資料結構 核心使用了三種資料結構,它們之間的關係決定了檔案共享方面乙個程序對另外乙個程序可能產生的影響 每個程序在程序表中有乙個記錄項,每個記錄項中有一張開啟檔案的描述符的表,每個描述符佔一項,與每個描述符相關聯的是 a 檔案描述符...

在Unix環境下mount ISO檔案

以下是常見的幾種unix作業系統下mount iso格式的檔案。1.hp ux環境 a.確認pfs mountd和pfsd程序已經啟動 b.確認乙個mount點,這裡有兩個假設 1 假設mount點是 isocdrom 2 假設我們要mount乙個格式是iso的光碟 c.使用ioscan fnc d...

unix環境高階程式設計 err檔案

include apue.h include for definition of errno include iso c varialbe aruments static void err doit int,int,const char va list nonfatal error related ...