讀檔案
ssize_t read(int fd,void* buf,size_t count)
引數一: int ----- open的返回值
引數二: void * ---- 用來存放讀取資料的記憶體的首位址
引數三:size_t 讀取內容大小,單位:位元組
返回值:
成功:>0 讀取的位元組數
=0 檔案末尾
失敗:-1
寫檔案ssize_t write(int fd, const void *buf, size_t count)
引數一:open的返回值
引數二: 要寫入資料的記憶體的首位址
引數三: 寫入內容大小,單位:位元組
返回值:
成功:>0 寫入的位元組數
=0 檔案末尾
失敗:-1
關閉檔案
close(int fildes)
引數:open返回值,檔案描述符
返回值成功:0
失敗:-1
練習:使用系統呼叫io實現檔案的拷貝
int main()
else
writefd = open("./newfile.c", o_rdonly | o_creat);//建立新檔案
if(readfd == -1)
else
int size = 0;
char buf[20] =
while(size = read(readfd, buf, 15) )//讀到檔案末尾結束迴圈
return 0;
}
Linux下檔案I O系統呼叫
庫是可重用的模組 處於使用者態 系統呼叫是os提供的服務 處於核心態 不能直接呼叫 而要使用類似int 0x80的軟中斷陷入核心 所以庫函式中有很大部分是對系統呼叫的封裝。從巨集觀上說,系統呼叫時核心層,c標準庫在應用層。檔案描述符是linux核心為了高效管理已被開啟的檔案而建立的索引,其值為乙個非...
linux高階程式設計 系統呼叫I O函式
檔案描述符 檔案描述符是非負整數。開啟現存盤案或新建檔案時,系統 核心 會返回乙個檔案描述符。檔案描述符用來指定已開啟的檔案。在系統呼叫 檔案io 中,檔案描述符對檔案起到標識作用,如果要操作檔案,就是對檔案描述符的操作 乙個程式執行或者乙個程序開啟時,系統會自動建立三個檔案描述符 0 標準輸入 1...
系統呼叫IO介面
int open const char pathname,int flags,mode t mode 功能 開啟檔案 pathname 指定要開啟的檔名稱 flages 選項引數 必選引數 o rdonly 讀 o wrnoly 寫 o rdwr 只能選一 讀寫 可選引數 o creat 若檔案存在...