unix環境高階程式設計 檔案i o

2021-07-03 10:16:12 字數 876 閱讀 8952

一、檔案描述符

對於核心,通過檔案描述符來管理檔案。什麼是檔案描述符?

在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檔案流可用於單位元組和多...