利用read write函式實現copy功能

2021-10-21 21:35:48 字數 710 閱讀 9292

ssize_t read(int fd, void *buf, size_t count);

引數:fd:檔案描述符

buf:存資料的緩衝區

count:緩衝區的大小

返回值:

0 讀到檔案末尾

成功; >0 實際從fd讀到的資料大小

失敗:-1,並設定errno

將檔案設定為非阻塞,當read沒有資料時返回-1 且errno設定為

eagain or ewouldblock

ssize_t write(int fd, const void *buf, size_t count);

引數:fd:檔案描述符

buf:待寫出資料的緩衝區

count:資料的大小

返回值:

成功; 寫入的資料大小

失敗:-1,並設定errno

利用read write 實現cp功能

#include

#include

#include

#include

intmain

(int argc,

char

*ar**)

close

(fd1)

;close

(fd2)

;return0;

}

read, write 函式用法

讀函式read ssize t read int fd,void buf,size t nbyte read函式是負責從fd中讀取內容.成功時,read返回實際所讀的位元組數,如果返回的值是0,表示已經讀到檔案的結束了.小於0表示出現了錯誤.如果錯誤為eintr說明讀是由中斷引起的,如果是econn...

read, write 函式用法

讀函式read ssize t read int fd,void buf,size t nbyte read函式是負責從fd中讀取內容.成功時,read返回實際所讀的位元組數,如果返回的值是0,表示已經讀到檔案的結束了.小於0表示出現了錯誤.如果錯誤為eintr說明讀是由中斷引起的,如果是econn...

封裝非阻塞模式下的read,write函式

在非阻塞模式下當read讀完fd中所有內容後將返回 1,並且errno設定為eagain read函式說明 read 會把引數fd 所指的檔案傳送count個位元組到buf指標所指的記憶體中。若引數count為0,則read為實際讀取到的位元組數,如果返回0,表示已到達檔案尾或是無可讀取的資料 但在...