linux中檔案IO相關知識 4

2021-10-03 06:50:00 字數 953 閱讀 2468

open()   標頭檔案 #include

返回值:

int open(const char *pathname,int flags,mod_t mode);

mode:引數3使用的前提是 引數2指定了o_creat,取值為八進位制數,用來描述檔案的訪問許可權。

返回值:

open常見錯誤:

開啟檔案不存在

以寫方式開啟唯讀檔案(開啟檔案沒有對應許可權)

以只寫方式開啟目錄

close()

void perror(const char*s);

read()

返回值:

write()

返回值:

檔案描述符

阻塞、非阻塞:是裝置檔案、網路檔案的屬性

fcntl()

int flags = fcntl(fd,f_getfl);

***s |= o_nonblock;

fcntl(fd,f_setfl,***s);

lseek()

返回值:

應用場景:

檔案的「讀」、「寫」使用同一偏移位置。

使用 lseek() 獲取檔案大小

使用 lseek() 拓展檔案大小:要想使檔案大小真正拓展,必須引起io操作。

傳入引數:

指標作為函式引數

通常有 const 關鍵字修飾

指標指向有效區域,在函式內部做讀操作

傳出引數:

指標作為函式引數

在函式呼叫之前,指標指向的空間可以無意義,但必須有效

在函式內部,做寫操作

函式呼叫結束後,充當函式返回值

傳入傳出引數:

指標作為函式引數

在函式呼叫之前,指標指向的空間有實際意義

在函式內部,先做讀操作,後做寫操作

函式呼叫結束後,充當函式返回值

Linux中檔案系統相關知識 5

檔案儲存 inode dentry 檔案系統 檔案操作 stat lstat 返回值 獲取檔案大小 buf.st size 獲取檔案型別 buf.st mode 獲取檔案許可權 buf.st.mode 符號穿透 stat 會,lstat 不會 link 為了實現檔案共享,linux允許多個目錄項共享...

Linux檔案IO相關的API學習

下面用乙個例項來對這些api函式進行說明 include include include include include int main int argc,char ar int fd 1 檔案描述符 int ret 1 char wbuf 20 i love linux char rbuf 50...

檔案I O相關函式

1.open 系統呼叫 開啟乙個檔案返回檔案描述符 int open const char name,int flags int open const char name,int flags,mode t mode 2.creat 函式 int creat const char name,mode ...