系統呼叫IO介面

2021-10-04 02:19:33 字數 1445 閱讀 6558

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

功能:開啟檔案 

pathname :指定要開啟的檔名稱

flages: 選項引數

必選引數: o_rdonly (讀) o_wrnoly (寫) o_rdwr(只能選一)(讀寫)

可選引數: o_creat 若檔案存在則開啟,否則建立新檔案

o_excl 與o_creat同時使用,若檔案存在則報錯 ,不存在則建立。

o_trunc 開啟檔案的同時截斷檔案為0長度(清空)

mode 許可權。

返回值: 檔案描述符(正整數) 檔案的操作控制代碼,

如果失敗返回-1

ssize_t read(int fd,void* buf,size_t count)
從fd檔案中讀取count長度的資料,放到buf中

返回值: 返回實際讀取的位元組數, 失敗: -1

讀到末尾為0

ssize_t write(int fd,const void * buf,size_t count)
fd:  open開啟檔案所返回的檔案描述符

buf: 要寫入的資料

count: 要寫入的位元組數

返回值: 成功實際寫入的位元組數。 如果錯誤返回-1

off_t lseek(int fd,off_t offset,int whence)
跳轉fd檔案的讀寫位置到指定處

whence: seek_set seek_cur seek_end:

offset 偏移量

**umask(0)**

//有可能建立檔案,則一定要指定檔案許可權.

int close(int fd);
umask(0);  將當前程序的檔案建立許可權掩碼修改為mask
#include

#include

#include

#include

#include

#include

intmain()

char

* ptr=

"天已經黑了~~\n"

;int ret=

write

(fd,ptr,

strlen

(ptr));

if(ret<0)

printf

("write len:%d\n"

,ret)

;char buf[

1024]=

;if(ret<0)

else

if(ret==0)

else

close

(fd)

;return0;

}

基礎IO 標準庫IO介面 系統呼叫IO介面

標準庫io介面 fopen fclose fread fwrite fseek file fopen const char path,const char mode r唯讀開啟,檔案不存在報錯 r 讀寫開啟,檔案不存在報錯 w只寫,檔案不存在則建立 若存在則清空原內容 w 讀寫開啟,檔案不存在則建立...

c標準庫I O介面和系統呼叫I O介面

c標準庫i o介面 fopen 函式原型 file fopen const char path,const char mode 功能 開啟檔案,並返回指向該檔案的指標 引數 path 開啟檔案的路徑及檔名 mode 開啟檔案的方式,其可以有以下值 r 唯讀方式開啟,檔案必須存在,若不存在則報錯 r ...

Linux 檔案相關系統呼叫介面(IO)

早期在寫c語言介面的時候,我們可以通過fopen來開啟乙個檔案,下面這段兩段 為例 hello.c寫檔案 1 include 2 include 3 int main 4 9 const char msg hello world n 10 int count 5 11 while count 14 ...