1.open函式
原型:int open(const char *path, int access,int mode)
path
要開啟的檔案路徑和名稱
access 訪問模式
巨集定義和含義如下:
o_rdonly
1 唯讀開啟
o_wronly
2 只寫開啟
o_rdwr
4 讀寫開啟
還可選擇以下模式與以上3種基本模式相與:
o_creat
0x0100
建立乙個檔案並開啟
o_trunc
0x0200
開啟乙個已存在的檔案並將檔案長度設定為0,其他屬性保持
o_excl
0x0400
未使用
0x0800
追加開啟檔案
o_text
0x4000
開啟文字檔案翻譯cr-lf控制字元
o_binary
0x8000
開啟二進位制字元,不作cr-lf翻譯
mode
該引數僅在access=o_creat方式下使用
其取值如下:
s_ifmt
0xf000
檔案型別掩碼
s_ifdir
0x4000
目錄 s_ififo
0x1000
fifo 專用
s_ifchr
0x2000
字元專用
s_ifblk
0x3000
塊專用
s_ifreg
0x8000
只為0x0000
s_iread
0x0100
可讀 s_iwrite
0x0080
可寫 s_iexec
0x0040
可執行2.fopen函式
原型:file *fopen(char *filename, char *mode)
filename
檔名稱
mode
開啟模式
模式取值如下:
r 唯讀方式開啟乙個文字檔案
rb 唯讀方式開啟乙個二進位制檔案
w 只寫方式開啟乙個文字檔案
wb 只寫方式開啟乙個二進位制檔案
a 追加方式開啟乙個文字檔案
ab 追加方式開啟乙個二進位制檔案
r+ 可讀可寫方式開啟乙個文字檔案
rb+ 可讀可寫方式開啟乙個二進位制檔案
w+ 可讀可寫方式建立乙個文字檔案
wb+ 可讀可寫方式生成乙個二進位制檔案
a+ 可讀可寫追加方式開啟乙個文字檔案
ab+ 可讀可寫方式追加乙個二進位制檔案
3.open和fopen的區別
前者屬於低階io,後者是高階io。
前者返回乙個檔案描述符,後者返回乙個檔案指標。
前者無緩衝,後者有緩衝。
前者與 read, write 等配合使用, 後者與 fread, fwrite等配合使用。
後者是在前者的基礎上擴充而來的,在大多數情況下,用後者。
open(outfilename,o_wronly|o_creat|o_trunc,0644);請問,裡面的0644代表什麼?
int open(const char *path, int oflags, mode_t mode);當使用帶有o_creat標誌建立檔案時,必須使用以上帶有三個引數格式的open呼叫。可以 $man open 然後有以下內容 00400 s_irusr 檔案所有者有讀許可權
00200 s_iwusr 檔案所有者有寫許可權
00040 s_irgrp 組使用者有讀許可權
00004 s_iroth 其他使用者有讀許可權
fopen與open的區別
open和fopen的區別 1.緩衝檔案系統 緩衝檔案系統的特點是 在記憶體開闢乙個 緩衝區 為程式中的每乙個檔案使用,當執行讀檔案的操作時,從磁碟檔案將資料先讀入記憶體 緩衝區 裝滿後再從記憶體 緩衝區 依此讀入接收的變數。執行寫檔案的操作時,先將資料寫入記憶體 緩衝區 待記憶體 緩衝區 裝滿後再...
fopen與open的區別
fopen與open的區別 可以參考 4.6,比較詳細的講解了fopen,open,檔案描述符,檔案指標,以及在父程序與子程序的不同.摘自chinaunix open和fopen的區別 前者屬於低階io,後者是高階io。前者返回乙個檔案描述符 使用者程式區的 後者返回乙個檔案指標。前者無緩衝,後者有...
fopen與open的區別
2011 02 25 14 40 23 分類 c 字型大小訂閱 相同點 都是用來完成檔案開啟操作的函式 不同點 open是系統呼叫,返回的是檔案控制代碼,fopen是庫函式,返回的是乙個指向檔案結構的指標 open與 read,write等配合使用,fopen與 fread,fwrite等配合使用 ...