Linux(十八)檔案操作

2021-09-23 22:33:37 字數 2399 閱讀 3329

creat函式

close函式

rename函式

remove函式

dup和dup2函式

用於開啟或建立檔案,在開啟或者建立檔案的屬性及使用者許可權等各種引數

#inlude

intopen

(const

char

*path,

int flags,mode t_mode)

;

若成功放回檔案描述符,出錯就返回-1

引數值含義

path

被開啟的檔名(可包括路徑名如"dev/ttys0")

flags

檔案開啟方式

o_rdonly

以唯讀方式開啟檔案

o_wronly

以只寫方式開啟檔案

o_rdwr

以讀寫方式開啟檔案

o_creat

如果改檔案不存在,就建立乙個新的檔案,並用第三個引數為其設定許可權

o_excl

如果使用o_creat時檔案存在,則返回錯誤訊息。這一引數可測試檔案是否存在。此時open是原子操作,防止多個程序同時建立同乙個檔案

o_noctty

使用本引數時,若檔案為終端,那麼該終端不會成為呼叫open()的那個程序的控制終端

o_trunc

若檔案已經存在,那麼會刪除檔案中的全部原有資料,並且設定檔案大小為0

以新增方式開啟檔案,在開啟檔案的同時,檔案指標指向檔案的末尾,即將寫入的資料新增到檔案的末尾

o_nonblock:

如果pathname指的是乙個fifo、乙個塊特殊檔案或乙個字元特殊檔案,則此選擇項為此檔案的本次開啟操作和後續的i/o操作設定非阻塞方式。

o_sync

使每次write都等到物理i/o操作完成。

o_rsync

read 等待所有寫入同一區域的寫操作完成後再進行在open()函式中,falgs引數可以通過「

perms被開啟檔案的訪問許可權,可以用兩種方法表示,可以用一組巨集定義:s_i(r/w/x)(usr/grp/oth),其中r/w/x表示讀寫執行許可權,

usr/grp/oth分別表示檔案的所有者/檔案所屬組/其他使用者,如s_iruur|s_iwuur|s_ixuur,(-rex------),也可用八進位制800表示同樣的許可權

t_mode對應的是使用檔案的許可權

write函式隊檔案寫入資料

#include

ssize_t write

(int file_des,

const

void

*buf,size_t)

;

read函式從檔案讀取資料

#include

ssize_read

(int file_des,

void

*buf,size_t nbytes)

;

creat函式用於建立乙個檔案

#include

intcreat

(const

char

* path,mode_t mode)

;

返回值:若成功,返回以只寫方式開啟的檔案描述符;若出錯,則為-1

用來關閉乙個被開啟的檔案

#include

intclose

(int fd)

;

返回值:若成功返回0,若出錯返回-1.引數fd是需關閉檔案描述符。

當乙個程序終止時,他所有的開啟檔案都由核心自動關閉

使用者修改檔名稱

#include

intrename

(const

char

*oldpath,

const

char

*newpath)

;

放回值:若成功返回0,出錯返回-1

引數oldpath時檔案的原路徑;newpath時檔案的新路徑

刪除檔案

#include

intremove

(const

char

* pathname)

;

#include

intdup

(int file_des)

;

#include

intdup2

(int file_des,

int file_des2)

;

dup和dup2都用於複製乙個現有的檔案描述符,成功返回新的檔案描述符,出錯返回-1

主要兩個區別:

C 複習(十八)檔案讀寫操作

對檔案的讀寫操作可通過以下三個類來進行 一 file類 string path f fcj haha.txt if file.exists path file.create path file.writealltext path,今天c 複習結束 二 streamwriter streamreade...

C 學習筆記(十八) 檔案操作

檔案型別 二進位制檔案 檔案以文字的二進位制形式儲存 檔案流類 ifstream 專用於從檔案中讀取資料 ofstream 專用於向檔案中寫入資料 fstream 既可寫也可讀,一般使用fstream類,其標頭檔案是fstream.h 使用open函式,open函式是建立檔案流物件和檔案之間的關聯 ...

linux 檔案操作

1 cat 開啟檔案 cat name.txt 開啟檔案name.txt cat 1.txt 2.txt 開啟2個檔案 cat n name.txt 開啟檔案後顯示行號 2 vi 輸出,刪除,查詢,替換,塊操作 等文字操作 vi 的三種基本工作模式 命令列模式,文字輸入模式,末行模式 命令列模式 不...