一、檔案描述符
對於核心,通過檔案描述符來管理檔案。什麼是檔案描述符?
在unix中,用open或者create建立幾個檔案時候,核心向程序返回乙個整數,用來記錄此檔案。
以後對檔案進行操作的時候,就用此檔案描述符做引用。
二、open函式
open函式用於建立乙個檔案,函式返回檔案描述符。
[cpp]view plain
copy
#include
intopen(
const
char
*pathname,
intflag);
intopen(
const
char
*pathname,
intflag, mode_t mode);
//只有新建立檔案時才會使用該函式
//返回值,如果成功返回檔案描述符,如果出錯返回-1
使用open返回的檔案描述符作為引數傳遞給write或read,按照慣例,unix中檔案描述符0與標準輸入相關聯,檔案描述
符1與標準輸出相關聯,檔案描述符2與標準出錯輸出相關聯。依照posix標準,0、1、2通常被替換成符號常量stdin_fileno、
stdout_fileno、stderr_fileno(定義在標頭檔案unistd.h中)。檔案描述符的範圍為0~open_max。
pathname為檔案的絕對路徑或相對路徑。
flag用於指定檔案的開啟/建立模式,這3個常量定義在fcntl.h中,這3個引數是必選的,而且只能選擇乙個:
o_rdonly 唯讀模式
o_wronly 只寫模式
o_rdwr 讀寫模式
《UNIX環境高階程式設計》 I O
不帶緩衝i o open read write lseek close等 標準i o 帶緩衝 fopen fclose fgets fputs fgetc fputc fwrite fread 標準i o對每個i o流自動進行快取管理 標準i o函式通常呼叫malloc來分配快取 它提供了三種型別的...
Unix高階程式設計 檔案I O
第3章檔案i o 3.1檔案描述符 fd stdin fileno 標準輸入 stdout fileno 標準輸出 stderr fileno 標準錯誤 乙個程序最多開啟63個檔案 3.2 open函式 include int open const char pathname,int oflag,m...
unix環境高階程式設計 標準IO
標準io庫 不僅在unix上,在很多作業系統上都實現了標準的io庫,它處理了很多細節,例如緩衝區分配,優化長度執行io等。流和file物件 對於標準的io庫,它們的操作是圍繞流 stream 進行的。當用標準io庫開啟或建立乙個檔案時,已經使乙個流和乙個檔案相關聯,標準的io檔案流可用於單位元組和多...