程序實現的方法:
函數的具體實現:
Linux 文件編程
所有的操作系統都提供多種服務的入口點,程序由此向內核請求服務。這些可直接進入內核的入口點被稱爲系統調用。
Linux文件可分爲:普通文件,目錄文件,鏈接文件,設備文件;
Linux一點哲學,“一切皆爲文件”;在Linux中對目錄和設備的操作都等同於對文件的操作;
“文件”什麼是文件?
系統資源(內存、硬盤、一般設備、進程間通信的通道等)的一個抽象
對系統資源進行訪問的一個通用接口。
採用這種“文件”的方式有什麼好處?
對資源提供通用的操作接口,可以極大地簡化系統編程接口的設計。
所有執行I/O操作的系統調用使用文件描述符來表示打開的文件。
文件描述符是一個非負整數。
文件描述符可以表示各種類型的打開的文件。
對文件的操作只要使用文件描述符即可指定所操作的文件。
文件描述符: int fd
文件描述符是一個非負的整數,它是一個索引值,並指向內核中每個進程的記錄表中;
一個進程啓動時,都會打開三個文件:
系統調用 –打開
int open(const char * pathname , int flags , mode)
路徑名 操作位 權限
返回值爲整型,回到文件描述符fd中。
mode : 每個文件有9個權限位
flags 有且僅有一個, 在 <fcntl.h> 頭文件中
O_RDONLY 只讀打開
O_WRONLY 只寫打開
O_RDWR 讀,寫
O_CREAT|O_RDWR 創建,讀寫