linux之write函數

書上關於write函數的講法往往如下:
#include <unistd.h>

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

參數:  
fd:要進行寫操作的文件描述符
buf:需要輸出的緩衝區
count:最大輸出字節計數

而其相對於read函數卻是不同的

#include <unistd.h>

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

參數:  
fd:要進行讀操作的文件描述符
buf:需要讀入的緩衝區
count:最大讀入字節計數

這個區別在於,read函數中的count值可以你人爲給定(往往這個會大的方向取,一般要比你實際可能讀到的字符數要大,這樣是可以的),而write函數中卻不能這樣指定,它必須是實際應該寫入的字符數。要不然它會輸出你所指定的字符數的字符, 那一定會出現不可預知的錯誤(越界)。
發佈了39 篇原創文章 · 獲贊 1 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章