《Linux C》01 檔案I O之Open操作

2021-07-11 10:49:12 字數 1326 閱讀 2751

概要:

#include

#include

#include

int open(const

char *pathname, int flags);

int open(const

char *pathname, int flags, mode_t mode);

int creat(const

char *pathname, mode_t mode);

描述: 給定乙個檔案的路徑名,open()返回乙個負整數的檔案描述符,失敗返回-1.

flags標誌中這三個必須包含乙個o_rdonly, o_wronly, or o_rdwr.

檔案建立標誌和檔案狀態標誌的部分列表如下:

在附加模式下開啟該檔案

o_async

使能訊號驅動i/o,此功能僅可用於終端.

o_cloexec

從新的檔案描述符使能這個o_cloexec標誌

o_noctty

如果pathname指向終端,則不將裝置作為此程序的控制終端

o_ndelay

非阻塞方式操作檔案

o_creat

如果pathname檔案不存在,將被建立。包含這個標誌位需為新建立的檔案賦予mode,如下:

巨集定義

巨集定義描述

s_irwxu

00700

使用者(檔案所有者)讀,寫和執行許可權

s_irusr

00400

使用者有讀取許可權

s_iwusr

00200

使用者有寫許可權

s_ixusr

00100

使用者的許可權

s_irwxg

00070

組讀,寫和執行許可權

s_irgrp

00040

組有讀取許可權

s_iwgrp

00020

組具有寫許可權

s_ixgrp

00010

組執行許可權

s_irwxo

00007

所有人具有讀、寫和執行許可權

s_iroth

00004

所有人具有讀許可權

s_iwoth

00002

所有人具有寫許可權

s_ixoth

00001

所有人具有執行許可權

#include 

#include

#include

int main()

13 檔案I O緩衝

key word 使用者空間緩衝區 核心緩衝區快取記憶體 write 將資料從使用者空間記憶體傳遞到核心空間的緩衝區中,在後續某個時刻,核心會將其從緩衝區中的資料寫入磁碟中。read 核心從磁碟中讀取資料並儲存到核心緩衝區中,read 將從該緩衝區中讀取資料。include int setvbuf ...

二 檔案I O 1 檔案描述符號

對於核心而言,所有開啟的檔案都通過檔案描述符號引用。檔案描述符是乙個非負整數。當開啟乙個現有檔案或建立乙個新檔案時候,核心向程序返回乙個檔案描述符。當讀或寫乙個檔案時候,使用open或creat返回的檔案描述符標識該檔案,將作為引數傳給read或write。在依從posix portable ope...

《APUE》筆記(1) 檔案I O

1 概述 1 unix類作業系統最重要的兩個東東 程序和檔案 2 大多數檔案i o用到的5個函式 open,close,read,write,lseek.還有檔案屬性操作函式 dup,fcntl 3 unix類作業系統的檔案i o是不帶快取的i o unbuffered i o 2 檔案描述符 fi...