write()和read()
生活随笔
收集整理的這篇文章主要介紹了
write()和read()
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
讀函數read??
ssize_t?read(int?fd,void?*buf,size_t?nbyte)? read函數是負責從fd中讀取內容.成功時,read返回實際所讀的字節數,如果返回的值是0,表示已經讀到文件的結束了. 小于0表示出現了錯誤.如果錯誤為EINTR說明讀是由中斷引起的,?如果是ECONNREST表示網絡連接出了問題. 寫函數write??
ssize_t?write(int?fd,const?void?*buf,size_t?nbytes)?
write函數將buf中的nbytes字節內容寫入文件描述符fd.成功時返回寫的字節數.失敗時返回-1.?并設置errno變量.?在網絡程序中,當我們向套接字文件描述符寫時有倆種可能.??
1)write的返回值大于0,表示寫了部分或者是全部的數據.??
2)返回的值小于0,此時出現了錯誤.我們要根據錯誤類型來處理.? 如果錯誤為EINTR表示在寫的時候出現了中斷錯誤.??
如果為EPIPE表示網絡連接出現了問題(對方已經關閉了連接).
ssize_t?read(int?fd,void?*buf,size_t?nbyte)? read函數是負責從fd中讀取內容.成功時,read返回實際所讀的字節數,如果返回的值是0,表示已經讀到文件的結束了. 小于0表示出現了錯誤.如果錯誤為EINTR說明讀是由中斷引起的,?如果是ECONNREST表示網絡連接出了問題. 寫函數write??
ssize_t?write(int?fd,const?void?*buf,size_t?nbytes)?
write函數將buf中的nbytes字節內容寫入文件描述符fd.成功時返回寫的字節數.失敗時返回-1.?并設置errno變量.?在網絡程序中,當我們向套接字文件描述符寫時有倆種可能.??
1)write的返回值大于0,表示寫了部分或者是全部的數據.??
2)返回的值小于0,此時出現了錯誤.我們要根據錯誤類型來處理.? 如果錯誤為EINTR表示在寫的時候出現了中斷錯誤.??
如果為EPIPE表示網絡連接出現了問題(對方已經關閉了連接).
總結
以上是生活随笔為你收集整理的write()和read()的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: pipe()函数精解
- 下一篇: 结构体DIR和dirent