1. 程式人生 > >Linux下的檔案管理函式(不帶I/O緩衝)

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的函式的編寫;
  1. 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: 檔案存在,有內容,檔案清空;

    1. read
      函式的作用: 從開啟的檔案中讀取資料
      函式的原型:ssize_t read(int fd, void *buf, size_t count);
      包含的標頭檔案: #include < unistd.h >

返回值:正常是實際讀到的位元組數;
如果是在檔案結束或者是無資料,返回0;
出錯,-1;
4. write
函式的作用: 向開啟的檔案中寫資料
函式的原型: ssize_t write(int fd, const void *buf, size_t count);
標頭檔案: #include < unistd.h >

返回值: 成功會返回實際寫入的位元組數;
出錯:-1;

  1. lseek
    函式的功能:進行檔案定位
    函式的原型: int lseek(int fd, offset_t offset, int whence);
    函式的引數:fd:
    offset: 指標的微調,在指定的指標向前移動為負, 向後為正;
    whence: SEEK_SET:放在檔案頭
    SEEK_CUR:當前的位置;
    SEEK_END: 檔案尾;

    返回值:返回檔案當前指標到檔案開始的地方有多少位元組;
    出錯-1;

    1. fopen
      函式的作用: 開啟檔案
      函式的原型: FILE *fopen(const char *pth, const char *mode)
      mode:
      r:讀,檔案必須存在;
      r+:開啟可讀寫,檔案必須存在;

    w:開啟只寫檔案,檔案不存在就會建立檔案; 檔案清0;
    w+:開啟可讀寫的檔案,

    a:附加的形式開啟只寫檔案,不存在就建立,存在就寫到原來的檔案尾。
    a+:以附加的形式開啟可讀寫的檔案,不存在就建立,存在就寫到原來的檔案尾。

    b:二進位制檔案

    檔案頭: #include < stdio. h>
    返回值: 成功是指向=檔案流的指標;
    出錯返回NULL;

    1. 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表示出錯

    1. fgets
      函式的作用:從檔案中讀取一個字串;
      函式的原型: char *fgets(char *s, int size, FILE *steam)
      函式的引數:
      從stream中讀size-1個字元到s中
      返回值: 成功返回s, 出錯NULL。
  2. fread
    函式的作用:從檔案流中讀取資料塊
    函式原型: size_t fread(void ptr, size_t size, size_t nmemb, FILE stream);
    返回值: 返回實際讀到資料塊的數目
    比nmember小的話,可能是到了檔案尾,或者錯誤發生。
    feof :到檔案尾;
    ferror:判斷錯誤的