Linux檔案IO相關的API學習

2021-09-18 04:50:16 字數 1326 閱讀 8615

下面用乙個例項來對這些api函式進行說明

#include

#include

#include

#include

#include

int main(int argc, char *ar**)

int fd = -1;//檔案描述符

int ret = -1;

char wbuf[20] = "i love linux";

char rbuf[50] = ;

if(argc == 1)

printf("usage: %s filename\n", ar**[0]);

_exit(-1);

fd = open(ar**[1], o_rdwr);//o_rdwr為可讀可寫許可權;o_rdonly為唯讀許可權;o_wronly為只寫許可權

//o_trunc屬性去開啟檔案時,則檔案裡原有內容會被清空

//o_creat屬性去開啟檔案時,若目錄下沒有該檔案,則去建立該檔案,配合o_excl屬性一起  //使用,效果是若開啟已經存在的檔案,則會提示報錯

if(fd == -1)

perror("錯誤資訊");

_exit(-1);

else

printf("檔案描述符fd = %d\n", fd);

ret = write(fd, wbuf, 8);

if(ret == -1)

perror("錯誤資訊");

_exit(-1);

ret = lseek(fd, 0, seek_set);//lseek函式顯式的移動檔案指標,而read和write函式則是隱式的移動檔案指標

printf("檔案頭指標的偏移量:%d\n", ret);

ret = read(fd, rbuf, 8);

if(-1 == ret)

perror("錯誤資訊");

_exit(-1);

return 0;

/*lseek()函式可以用來計算檔案的長度(單位位元組),寫乙個例項*/

int cal_filelength(char *filename)

int fd = -1;

int ret = -1;

fd = open(filename, o_rdonly);

if(-1 == fd)

perror("錯誤資訊");

return -1;

ret = lseek(fd, 0, seek_end);

if(-1 == ret)

perror("錯誤資訊");

return -1;

return ret;

linux中檔案IO相關知識 4

open 標頭檔案 include 返回值 int open const char pathname,int flags,mod t mode mode 引數3使用的前提是 引數2指定了o creat,取值為八進位制數,用來描述檔案的訪問許可權。返回值 open常見錯誤 開啟檔案不存在 以寫方式開啟...

檔案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...