C 語言檔案I O相關函式

2021-09-28 23:30:07 字數 1812 閱讀 9947

一、i/o相關函式

函式描述

intopen (const char *path, int oflag, …)

位於 標頭檔案

可以開啟或建立乙個檔案。

引數見下方1

返回值:若成功,返回檔案描述符;若出錯,返回-1。

intopenat (int fd, const char *path, int oflag, …)

位於 標頭檔案

可以開啟或建立乙個檔案。

引數見下方2

返回值:若成功,返回檔案描述符;若出錯,返回-1。

intcreat(const char *path, mode_t mode);

位於 標頭檔案;

功能等效於open(path, o_wronly|o_creat|o_trunc, mode);

返回值:若成功,返回為只寫開啟的檔案描述符;若出錯,返回-1。

intclose(int fd);

位於 標頭檔案;

用於關閉乙個以及開啟的檔案;

返回值:若成功,返回0;若出錯,返回-1。

off_t lseek(int fd, off_t pffset, int whence);

位於 標頭檔案;

為乙個開啟檔案設定偏移量。

引數3:

返回值:若成功,返回新的檔案偏移量;若出錯,返回-1。

ssize_t read(int fd, void

*buf, size_t nbytes);

位於 標頭檔案;

從開啟檔案中讀資料;

返回值:讀到的位元組數,若已到檔案末尾,返回0;若出錯,返回-1;

ssize_t write(int fd, const

void

*buf, size_t nbytes);

位於 標頭檔案;

給開啟檔案寫資料;

返回值:若成功,返回已寫入的位元組數;若出錯,返回-1。

ssize_t pread(int fd, void

*buf, size_t nbytes, off_t offset)

以原子的方式讀取檔案

ssize_t pwrite(int fd, void

*buf, size_t nbytes, off_t offset)

以原子的方式寫入指定檔案

intdup(int fd)

用來複製乙個現有的檔案描述符

intdup2(int fd, int fd2)

用來複製乙個現有的檔案描述符

intfsync(int fd)

將所有修改過的快緩衝區排入寫佇列,並且等待寫磁碟操作結束才返回

intfdatasync(int fd)

將所有修改過的快緩衝區排入寫佇列,並且等待寫磁碟操作結束才返回

void

sync(void)

將所有修改過的快緩衝區排入寫佇列,然後就返回

intfcntl(int fd, int cmd, …)

改變已經開啟檔案的屬性

intioctl(int fd, int request,…)

一些沒辦法歸類的函式就統一放在ioctl這個函式操作中,通過指定的命令來實現對應的操作

open 函式引數

openat函式引數
fd引數把open和openat函式區分開,共有3種可能性。

lseek函式引數
↩︎

↩︎↩︎

檔案I O相關函式

1.open 系統呼叫 開啟乙個檔案返回檔案描述符 int open const char name,int flags int open const char name,int flags,mode t mode 2.creat 函式 int creat const char name,mode ...

檔案I O相關函式

include 成功返回檔案描述符,出錯返回 1 int open const char path,int oflag,mode t mode int openat int fd,const char path,int oflag,mode t mode int creat const char p...

C語言的檔案IO函式

c語言檔案i o函式主要指fprintf fscanf fgets 和fputs 它們既可以實現向gets puts getc 和putc 函式樣從鍵盤和螢幕進行輸入輸出,也可以對檔案進行輸入輸出。標頭檔案 include 定義函式 int fprintf file stream,const cha...