1.建立/開啟/關閉檔案
#include
#include
#include
intopen
(const
char
*pathname,
int flags)
;int
open
(const
char
*pathname,
int flags,mode_t mode)
;int
creat
(const
char
*pathname,mode_t mode)
;
mode:
s_irwxu:00700,允許檔案的所有人讀、寫和執行檔案
s_irusr(s_iread):00400,允許檔案的所有人讀檔案
s_iwusr(s_iwrite):00200,允許檔案的所有人寫檔案
s_ixusr(s_iexec):00100,允許檔案的所有人執行檔案
s_irwxg:00070,檔案所在分組讀寫執行檔案
s_irgrp:00040,檔案所在分組讀檔案
s_iwgrp:00020,檔案所在分組寫檔案
s_ixgrp:00010,檔案所在分組執行檔案
s_irwxo:00007,其他使用者讀寫執行檔案
s_iroth:00004,其他使用者讀檔案
s_iwoth:00002,其他使用者寫檔案
s_ixoth:00002,其他使用者執行檔案
出錯**省略
②close()函式
#include
intclose
(int fd)
;
當關閉檔案成功時返回0,錯誤返回-1.
2.讀寫檔案內容
#include
ssize_t write
(int fd,
const
void
*buf,size_t count)
;ssize_t read
(int fd,
const
void
*buf,size_t count)
;
read()和write()是不帶緩衝的,fd是檔案描述符,buf是寫入資料緩衝開始位址,count是寫入多少位元組資料。成功返回0,失敗返回-1,設定errno為處做**。
3.檔案內容定位
#include
#include
off_t lseek
(int fildes,off_t offset,
int whence)
;
offset是檔案偏移量,whence有三種設定:①seek_set:從檔案開始處設定偏移量;②seek_cur:從前位置設定偏移量;③seek_end:從檔案尾處設定檔案偏移量。
4.修改已開啟檔案的屬性
#include
#include
intfcntl
(int fd,
int cmd)
;int
fcntl
(int fd,
int cmd,
long arg)
;int
fcntl
(int fd,
int cmd,
struct flock *lock)
;
cmd功能:
①f_dupfd:複製現有的描述符;
②f_getfd或f_setfd:獲取/設定檔案描述符標記;
③f_getfl或f_setfl:獲取/設定檔案狀態標記;
④f_getown或f_setown:獲取/設定非同步i/o所有權;
⑤f_getlk或f_setlk或f_setlkw:獲取/設定記錄鎖;
成功的秘訣往往很簡單,答案就是hold on.
系統io(檔案io)
檔案描述符 檔案描述符 已開啟檔案的標誌,是非負整形數,當前可以最小作為新檔案的檔案描述符,預設範圍0 1024 可更改 檔案開啟 int open const char pathname,int flags,mode t mode 1.pathname 要開啟檔案的路徑 2.flags 開啟方式 ...
IO操作 檔案IO
一 系統呼叫 系統呼叫實際上是作業系統 核心 提供的供使用者使用的介面函式。二 標準io函式和檔案io函式的關係 標準io是c庫內定義的函式,是凌駕於系統之上的,適用於任何的作業系統 檔案io是由linux系統提供的,只能在linux系統中使用,而不可以在其它作業系統中使用。標準io函式可以呼叫檔案...
source檔案和makefile檔案編寫
一.makefile 沒有副檔名,它名字就叫makefile 內容如下 include ntmakeenv makefile.def wdm程式使用的所有makefile都這樣寫,我們只需寫乙個,編譯時把它拷貝到工作目錄下就行了 二.sources檔案就需要我們根據不同的場合修改了,不過基本模板如下...