linux之write函数

来源:互联网 发布:装修图纸软件 编辑:程序博客网 时间:2024/05/22 17:06
书上关于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函数中却不能这样指定,它必须是实际应该写入的字符数。要不然它会输出你所指定的字符数的字符,那一定会出现不可预知的错误(越界)。