Linux下的檔案管理函式(不帶I/O緩衝)
1.creat
函式的作用: 建立一個檔案;
函式的原型: int creat(const char *pathname, mode_t mode);
檔案頭: #include < sys/types.h >
#include < sys/stat.h >
#include < fcntl.h >
返回值:成功:新的檔案描述符;
出錯: -1
建立幾個函式:file_creat.c的函式的編寫;
open
函式的作用:開啟一個檔案;
函式的原型:
int open(const char *pahtname, int flags);
int open(const char *pahtname, int flags, mode_t mode);
返回值:檔案描述符—成功;出錯:-1;
flags:
引數:
O_RDONLY
O_WRONLY;
O_RDWR;
O_CREAT: 如果原來折耳根檔案不存在,那麼有這個引數就可以建立這個檔案;
O_APPEND:原來有內容,則會自動保留檔案內容,自動向下讀寫;
O_TRUNC: 檔案存在,有內容,檔案清空;- read
函式的作用: 從開啟的檔案中讀取資料
函式的原型:ssize_t read(int fd, void *buf, size_t count);
包含的標頭檔案: #include < unistd.h >
- read
返回值:正常是實際讀到的位元組數;
如果是在檔案結束或者是無資料,返回0;
出錯,-1;
4. write
函式的作用: 向開啟的檔案中寫資料
函式的原型: ssize_t write(int fd, const void *buf, size_t count);
標頭檔案: #include < unistd.h >
返回值: 成功會返回實際寫入的位元組數;
出錯:-1;
lseek
函式的功能:進行檔案定位
函式的原型: int lseek(int fd, offset_t offset, int whence);
函式的引數:fd:
offset: 指標的微調,在指定的指標向前移動為負, 向後為正;
whence: SEEK_SET:放在檔案頭
SEEK_CUR:當前的位置;
SEEK_END: 檔案尾;返回值:返回檔案當前指標到檔案開始的地方有多少位元組;
出錯-1;- fopen
函式的作用: 開啟檔案
函式的原型: FILE *fopen(const char *pth, const char *mode)
mode:
r:讀,檔案必須存在;
r+:開啟可讀寫,檔案必須存在;
w:開啟只寫檔案,檔案不存在就會建立檔案; 檔案清0;
w+:開啟可讀寫的檔案,a:附加的形式開啟只寫檔案,不存在就建立,存在就寫到原來的檔案尾。
a+:以附加的形式開啟可讀寫的檔案,不存在就建立,存在就寫到原來的檔案尾。b:二進位制檔案
檔案頭: #include < stdio. h>
返回值: 成功是指向=檔案流的指標;
出錯返回NULL;- fputc
函式的作用: 將一個指定的字元寫入到檔案流中;
函式的原型: int fputc(int c, FILE *stream);
返回值: 返回寫入成功的字元,c; EOF則表示失敗。
8.fgetc
函式的作用:從檔案流中讀取一個字元
函式原型: int fgetc(FILE *stream)
返回值:返回值正常的是讀取的字元;EOF表示到了檔案尾;9.fputs
函式的作用:將一個字串寫入到檔案內
函式的原型: int fputs(const char *s, FILE *stream)
返回值:成功返回寫成字元數; EOF表示出錯- fgets
函式的作用:從檔案中讀取一個字串;
函式的原型: char *fgets(char *s, int size, FILE *steam)
函式的引數:
從stream中讀size-1個字元到s中
返回值: 成功返回s, 出錯NULL。
- fopen
fread
函式的作用:從檔案流中讀取資料塊
函式原型: size_t fread(void ptr, size_t size, size_t nmemb, FILE stream);
返回值: 返回實際讀到資料塊的數目
比nmember小的話,可能是到了檔案尾,或者錯誤發生。
feof :到檔案尾;
ferror:判斷錯誤的