Linux底层文件访问---read系统调用
系统调用read的作用是:从与文件描述符files相关联的文件里读入nbytes个字节的数据,并把她们放到数据区buf中。它返回实际读入的字符,这可能会小于请求的字节数。如果read调用返回0,就表示未读入任何数据,已到达了文件结尾。同样,如果返回的是-1,就表示read调用出现了错误。
#include <unistd.h>
<span style="font-family: Arial, Helvetica, sans-serif;">size_t read(int fildes, void *buf, size_t nbytes);</span>下面这个程序test.c 把标准输入的前128个字节复制到标准输出。如果输入少于128个字节,就把它们全体复制过去。
#include <stdlib.h> #include <unistd.h> int main() { char buffer[128]; int nread; nread = read(0,buffer,128); if( nread == -1 ) write(2,"A read error has occured\n",26); if( (write(1,buffer,nread)) != nread ) write(2,"A write error has occured\n",27); exit(0); }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。