open函式 close函式的簡單使用

2021-10-08 09:25:18 字數 2617 閱讀 8911

一.open

標頭檔案

函式原型

功能

開啟和建立檔案

函式引數

1.pathname:是待開啟/建立檔案路徑名

例如:/home/yx/file1 在/home/yx 下 開啟或建立檔案 file1,不寫路徑,預設當前路徑。

2.flags:指定檔案的開啟/建立的方式,有以下三種方式:

o_rdonly	唯讀模式

o_wronly 只寫模式

o_rdwr 可讀可寫模式

這三種模式是互斥的,只能選擇其中一種,選擇模式時,可以與以下引數連用:

o_creat		如果檔案不存在就建立

o_excl 要開啟的檔案存在,則出錯,必須要和 o_creat 引數一起使用

o_trunc 開啟檔案的同時將檔案中的資料清除,游標定位到檔案頭

等等

mode: 用來設定建立檔案的許可權,flags中有 o_creat 時才有效

返回值:呼叫成功,返回乙個非負整型數的檔案描述符fd

呼叫失敗返回-1,並修改errno.

二。write

功能

write()會把 buf 所指的記憶體寫入 count 個位元組所指的檔案內(fd)。buf 中寫入資料到fd多少由 count 決定

函式引數

1.fd:檔案描述符

2.buf:通常是乙個字串,需要寫入的字串,寫入其他型別的資料,如整型數,結構體等,通過傳址呼叫。

3.每次寫入的位元組數

4.返回值:成功:返回寫入的位元組數

失敗:返回-1並且設定errno

三 .lseek

功能

控制開啟檔案的讀寫位置

函式引數

1.fd:檔案描述符

2.offset:偏移值,位移值是根據引數 whence來確定。

ofset > 0向後偏移

offset < 0向前偏移

3.whence:分為三種:

seek_set相對於檔案頭,向後偏移

seek_cur相對於當前位置,向前或前後偏移

seek_end相對於檔案資料尾部,向前或向後偏移

例如:lseek(fd,0,seek_set) 從檔案頭開始讀寫

lseek(fd,0,seek_end) 從檔案資料尾部讀寫

lseek(fd,seek_cur) 取得目前檔案位置

4.返回值:呼叫成功,則返回距離檔案頭多少個位元組,可用於計算檔案的大小 :

n = lseek(fd,0,seek_end)

呼叫失敗,返回-1,

四.read

函式功能

從檔案中讀取一定大小的位元組數

函式引數

和write的類似

注意:在讀寫檔案時,注意游標的定位。

五.close

函式功能

關閉檔案

1.返回值:成功 :返回0

失敗: 返回 -1

附:

六.函式綜合**

open函式與close函式

標頭檔案 include 在centos6.0中只要此標頭檔案就可以 include incldue 功能 開啟和建立檔案 建立乙個檔案描述符,其他的函式可以通過文 件描述符對指定檔案進行讀取與寫入的操作。原型 int open const char pathname,int flags int o...

Linux系統函式open和close(01)

說明 open函式 是linux的系統函式。close函式 是linux的系統函式。檔案有開啟 open 就要有關閉 close 檔案的開啟和關閉時搭配使用的。環境 vmware workstation centos 6.4 x86 64 檔案操作 有開啟,必須有關閉。說明 步驟 include 包...

open函式的使用

c語言中一些基本函式 int open char pathname,int access 為讀或寫開啟乙個檔案,按後按access來確定是讀檔案還是寫檔案,access值見下表 access值 意義 o rdonly 讀檔案 o wronly 寫檔案 o rdwr 即讀也寫 o noinherit ...