在linux中read、write函数

原创 2013年12月02日 09:09:47
read函数从打开的设备或文件中读取数据。
 
  1. #include<</span>unistd.h>

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

描述:参数count是请求读取的字节数,读上来的数据保存在缓冲区buf中,同时文件的当前读写位置向后移。(注意:这个读写位置和使用C标准I/O库时的读写位置有可能不同,这个读写位置是记在内核中的,而使用C标准I/O库时的读写位置是用户空间I/O缓冲区中的位置。)

返回值:若成功返回读到的字节数;若已到达文件结尾返回0;若出错返回-1;

注:有多种情况会出现实际读到的字节数少于要求读的字节数(count)。

●读普通文件时,在读到要求的字节数(count)之前已到达了文件尾端。

●从终端设备读,通常以行为单位,一次最多读一行,读到换行符就返回了。

●从网络读,根据不同的传输层协议和内核缓存机制,网络中的缓冲机构可能造成返回值可能小于请求的字节数。

write函数向打开的设备或文件中写数据.

 

  1. #include<</span>unistd.h>
  2. ssize_t write(int fd, const void *buf, size_t count);

写常规文件时,write的返回值通常等于请求写的字节数count,而向终端设备或网络写则不一定。

返回值:若成功返回写入到设备或文件中的字节数;若失败返回-1;

版权声明:本文为博主原创文章,未经博主允许不得转载。

深入理解linux下write()和read()函数

1、write() 函数定义:ssize_t write (int fd, const void * buf, size_t count); 函数说明:write()会把参数buf 所指的内存写入co...
  • hhhlizhao
  • hhhlizhao
  • 2017年05月13日 20:09
  • 776

linux文件操作函数(open、write、read、close)

1. open()函数 功能描述:用于打开或创建文件,在打开或创建文件时可以指定文件的属性及用户的权限等各种参数。 所需头文件:#include ,#include ,#include ...
  • u014650722
  • u014650722
  • 2016年06月02日 09:10
  • 7022

Linux内核驱动之read和write

读和写方法都进行类似的任务, 可以同时介绍它们: ssize_t read(struct file *filp, char __user *buff, size_t count, loff_t *of...
  • u011164819
  • u011164819
  • 2015年12月03日 11:41
  • 2186

linux系统函数read和write

一、read/write 函数 read函数从打开的设备或文件中读取数据。 #include ssize_t read(int fd, void *buf, size_t count); 返...
  • BXD1314
  • BXD1314
  • 2014年01月01日 09:59
  • 1141

网络编程(24)—— linux中write和read函数的阻塞试验

刚刚接触网络编程时,很容易被客户端和服务器之间的交互搞晕,例如各种函数的阻塞和非阻塞就让人头疼。例如在我的印象中linux中用于用于对文件描述符进行读写的write()函数和read()函数是非阻塞函...
  • lzhui1987
  • lzhui1987
  • 2016年10月31日 08:15
  • 2869

read函数和write函数

用read函数从打开的文件中读取数据。 #incldue ssize_t read(int fd, void *buf, size_t nbyte); 返回值:读到的字节数,若已到文件尾,返回0...
  • sanmao0816
  • sanmao0816
  • 2015年01月22日 19:40
  • 1247

Linux可重入函数

1、可重入函数     可重入函数指的是可以被中断的函数。也就是说,可以在这个函数执行的任何时刻中断它,转入OS调度下去执行另外一段代码,而返回控制时不会出现什么错误;而不可重入的函数由于使用了...
  • qq_20480611
  • qq_20480611
  • 2015年11月22日 09:39
  • 462

Linux下Socket编程之read、write、send、recv函数的比较

建立好了TCP连接之后,我们就可以把得到的套接字当做文件描述符来使用,由此,想到了网络程序里面的基本的读写函数read和write函数。 Write函数 Ssize_t write(int...
  • imxiangzi
  • imxiangzi
  • 2016年01月06日 23:16
  • 2017

Linux网络编程(附1)——封装read、write

由于网络IO传输过程中网络环境的复杂性,read、write有可能遇到中断信号等中断,而且简单的read、write版本并不能直接控制到底read、write多长的字节,所以可以对其进行封装。...
  • sshhiixx
  • sshhiixx
  • 2015年08月12日 02:05
  • 1386

linux文件设备与I/O:read/write函数 与 阻塞 Block

一,read 函数从打开的设备或文件中读取数据 #include        ssize_t read(int fd, void *buf, size_t count);        ...
  • sweetgum2012
  • sweetgum2012
  • 2015年04月11日 12:39
  • 1615
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在linux中read、write函数
举报原因:
原因补充:

(最多只允许输入30个字)