在linux中read、write函数
read函數從打開的設備或文件中讀取數據。
#include<</span>unistd.h>
ssize_t read(intfd,void*buf,size_t
count);
描述:參數count是請求讀取的字節數,讀上來的數據保存在緩沖區buf中,同時文件的當前讀寫位置向后移。(注意:這個讀寫位置和使用C標準I/O庫時的讀寫位置有可能不同,這個讀寫位置是記在內核中的,而使用C標準I/O庫時的讀寫位置是用戶空間I/O緩沖區中的位置。)
返回值:若成功返回讀到的字節數;若已到達文件結尾返回0;若出錯返回-1;
注:有多種情況會出現實際讀到的字節數少于要求讀的字節數(count)。
●讀普通文件時,在讀到要求的字節數(count)之前已到達了文件尾端。
●從終端設備讀,通常以行為單位,一次最多讀一行,讀到換行符就返回了。
●從網絡讀,根據不同的傳輸層協議和內核緩存機制,網絡中的緩沖機構可能造成返回值可能小于請求的字節數。
write函數向打開的設備或文件中寫數據.
#include<</span>unistd.h>
ssize_t write(intfd,constvoid*buf,size_t
count);
寫常規文件時,write的返回值通常等于請求寫的字節數count,而向終端設備或網絡寫則不一定。
返回值:若成功返回寫入到設備或文件中的字節數;若失敗返回-1;
總結
以上是生活随笔為你收集整理的在linux中read、write函数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 无条件极值与条件极值
- 下一篇: Js 执行上下文和作用域