檔案程式設計相關函式(一)

2021-07-25 04:21:37 字數 1819 閱讀 7505

1.creat   建立檔案或建立檔案

函式原型:int creat(const *pathname,mode_t mode);

函式入參:pathname 要建立的檔案路徑字串   「/home/hello.c」

mode 建立檔案的許可權

函式的返回值:成功返回檔案描述符,出錯返回-1

標頭檔案:#include

#include

#include

2.open   開啟或建立檔案

函式原型:int open(const char * pathname,int flags);(開啟檔案)

int open(const char * pathname,int flags,mode_t  mode);

函式引數:pathname 要建立的檔案路徑字串   「/home/hello.c」

mode 建立新檔案時使用,許可權

flags 使用的標準:o_rdonly 唯讀

o_wronly 只寫

o_rdwr 讀寫

o_creat 不存在建立

o_trunc 檔案存在並且是只寫的形式開啟,檔案清零

o_excl  檢查建立檔案是否存在,不存在就建立,如果有就出錯

o_nonblock  以不可阻斷的形式開啟(非阻塞)

函式返回值:成功返回檔案描述符,出錯-1

標頭檔案:#include

#include

#include

3.read   從開啟的檔案中讀取資料

函式原型:ssize_t  read(int fd, void *buf, size_t count);

函式的引數:fd  open返回的檔案描述符

buf  放置讀出資料的緩衝區

count  要讀取的字元數

返回值:實際讀取的字元數   > 0

為0表示讀到檔案尾或無檔案可讀

-1出錯

標頭檔案:#include

4.write  資料寫入到已開啟檔案內

函式原型:ssize_t  write(int fd, const void *buf, size_t  count);

函式引數:fd 檔案描述符

buf 放置要寫入資料的緩衝區

count 寫入位元組數

返回值:失敗 -1

成功  返回實際自惡如位元組數

0 寫到檔案尾

大於零小於要寫的字元數,實際寫入

5.lseek  移動或定位檔案的讀寫位置

原型:off_t  lseek(int fd, off_t  offset, int whence);

引數:fd  檔案描述符

whence  檔案的指標位置:

seek_set 檔案頭

seek_cur  當前位置

seek_end  檔案尾

offset 相對whence的偏移量,向前移動為負,向後為正

返回值:檔案指標到檔案牽頭的位元組數

(求檔案內容大小  int len;len = lseek(fd,0,seek_end);)        

檔案描述符:系統核心返回的乙個整型的值 ; 標準輸入 0;標準輸出 1;出錯 2 ;                         

main函式的兩個引數:argc(第乙個形參)必須是整型變數,argv( 第二個形參)必須是指向字串的指標陣列,argc:表示命令行所帶的引數的個數 ,argv引數是字串指標陣列,其各元素值為命令列中各字串(引數均按字串處理)的首位址   int main(int argc,char *argv[ ]);

檔案相關函式

1 flush 重新整理緩衝區 flush 當檔案關閉的時候自動重新整理緩衝區 當整個程式執行結束的時候自動重新整理緩衝區 當緩衝區寫滿了 會自動重新整理緩衝區 手動重新整理緩衝區 fp open 0506 6.txt mode w encoding utf 8 fp.write 123456 手動...

socket程式設計相關函式

本文旨在整理一下linux下socket程式設計時一些常用的一些理解總結,如有不足希望大家批評指點 linux version 3.10.0 862.14.4.el7.x86 64 gcc version 4.8.5 20150623 red hat 4.8.5 28 gcc tcp的伺服器端soc...

Linux 檔案相關程式設計

1.access系統呼叫 access系統呼叫用於檢測所指定的檔案訪問許可權,原型如下 include int access const char pathname,int mode 示例如下 include include int main int argc,char argv 其中f ok用於測...