文件IO(系統IO)

文件IO(系統IO)

文件描述符(fd)是在文件IO中貫徹適中的類型。

文件描述符的概念:

實質是一個整形數,文件描述符優先使用當前可用範圍內最小的一個。

 

 

 

說到stream首先想到的是stdio、stdout、stderr、

說到fd首先想到的是0、1、2

 

 

文件描述符的操作:open、close、read、write、lseek

標準IO 系統IO
r O_RDONLY
r+ O_RDWR
w O_WRONLY | OCREAT | O_TRUNC
w+ O_RDWR | O_TRUNK |  O_CREAT

open():

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

當有O_CREAT的時候,用三參函數。函數名相同,參數不同,在C++中叫重載,但是在C語言中沒有重載,他是利用變參機制實現的,即...

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

 

 

 

 


 

標準IO基於系統IO

將文件IO與系統IO區別:

舉例:傳達室老大爺跑郵局

區別:相應速度 & 吞度量

面試:如何使一個程序變快?

提醒:標準IO與文件IO不可以混用。

轉換:fileno、fdopen

 

 

IO的效率問題:

習題:

 

文件共享:

 

原子操作:

 

程序中的重定向:dup、dup2

同步:sync、fsync、fdatasync

fcnt1();

ioctl();

 

/dev/fd/目錄:

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章