檔案I O函式

2021-08-20 14:13:32 字數 1257 閱讀 2849

開啟或者建立檔案: open  openat

#include int open(const char *path, int oflag, ..);

int openat(int fd,const char *path, int oflag, ..);

成功返回檔案描述符,失敗返回-1

oflag引數: o_rdonly    o_wronly  o_rdwr ..

o_create:檔案不存在時建立檔案。使用該引數需要說明mode,即新檔案的訪問許可權

例:fd=open("2.txt",o_rdwr|o_creat,0755)  檔案的許可權根據:umask +0755 計算 (umask取反,然後和 0755與)

o_excl:可以用來判斷檔案是否存在

例:fd=open("2.txt",o_rdwr|o_creat|o_excl,0755);

o_trunc:檔案截斷(如果檔案讀寫開啟或者只寫開啟,檔案截斷為0)

例: open("1.txt",o_rdwr|o_creat|o_trunc,0644)

表示以讀寫方式開啟檔案,如果檔案不存在就建立檔案,如果檔案存在就將檔案長度截斷為0。

關閉檔案:close

#include int close(int fd);
成功返回0,失敗返回-1.

從開啟檔案中讀資料: read

#include ssize_t read(int fd, void *buf, size_t nbytes);
read成功返回讀到的位元組數;若到檔案尾,返回0;出錯返回-1

向開啟檔案中寫資料:write

#include ssize_t write(int fd, void *buf, size_t nbytes);
write成功返回寫入的位元組數,若出錯,返回-1

設定偏移量: lseek

#include off_t lseek(int fd, off_t offset, int whence);
成功返回新的檔案偏移量,出錯返回-1

whence值可以是:seek_set  seek_cur   seek_end

seek_set:將檔案偏移量設定為距檔案開始處offset個位元組

seek_cur:將檔案偏移量設定為當前值加offset

seek_end:將檔案偏移量設定為檔案長度加offset

檔案I O函式 fputs 函式

描述 c 庫函式int fputs const char str,file stream 把字串寫入到指定的流stream中,但不包括空字元。宣告 int fputs const char str,file stream 引數 返回值 該函式返回乙個非負值,如果發生錯誤則返回 eof。用法 incl...

檔案I O函式 fgets 函式

描述 c 庫函式char fgets char str,int n,file stream 從指定的流stream讀取一行,並把它儲存在str所指向的字串內。當讀取 n 1 個字元時,或者讀取到換行符時,或者到達檔案末尾時,它會停止,具體視情況而定。宣告 char fgets char str,in...

檔案I O函式 fputs 函式

描述 c庫函式int fputs const char str,file stream 把字串寫入到指定的流stream中,但不包括空字元。宣告 int fputs const char str,file stream 引數 返回值 該函式返回乙個非負值,如果發生錯誤則返回eof。用法 includ...