read和write函数为Linux系统函数,都需要包含头文件: <unistd.h>

一、read函数
read系统函数从打开的设备或文件中读取数据,即将数据从外设上经过内核读到用户空间,函数原型如下:

#include <unistd.h>
ssize_t read(int fd, void *buf, size_t count);
从 fd 中读取数据到 buf 中,count 是要求读到的字节数。

fd为相应的文件描述符;buf为用户给定的数据缓冲区,该缓冲不是固定大小的,由count值决定其大小(用户给定,字节数)。如 read( fd , “hello” , 5 ); 此时的void *buf为char *类型。即count为请求读取的字节数(即buf的大小)。该函数的返回值为-1时,表示读取数据失败;返回值>0时,表示读出的字节数;返回值等于0时,表示已经读完了,因此没有数据可读了。
ssize_t为有符号整型,size_t为无符号整型。

二、write函数
write系统函数相反,向打开的设备或文件中写入数据,即将数据从用户空间(I/O缓冲)送到内核,然后刷到外设上。

#include <unistd.h>
ssize_t write(int fd, const void *buf, size_t count);
从 buf 中写数据到 fd 中,count 是相求写入的字节数。

返回值:返回值通常与参数 nbytes相同,否则表示出错。

注意:
这里要注意一个问题,buf 可以是数组类型,因为C++ 传数组给一个函数,数组类型自动转换为指针类型,因而传的实际是地址。
小细节:C++ 中可以通过指定不带索引的数组名来传递一个指向数组的指针。

C++中read和write的区别相关推荐

  1. python中break和continue的区别

    python中break和continue的区别 break 结束for 或者while 循环  后面还没循环到的 不再循环 continue 当满足某种条件时结束当前值的循环 后面没有循环的继续循环 ...

  2. java中separator_java - File.separator和路径中的斜杠之间的区别

    java - File.separator和路径中的斜杠之间的区别 在Java Path-String中使用/和普通的File.separator有什么区别? 与双反斜杠相比,/平台独立似乎不是原因, ...

  3. PHP中self和static的区别,php中self与static的区别

    原文链接,猛击这里. php中self与static的区别 通过一些示例,我们可以很容易看出self和static的区别.假定我们有class Car – 它有两个方法,model和getModel. ...

  4. php 抽象类 接口 区别,PHP中抽象类、接口的区别与选择分析

    本文实例分析了PHP中抽象类.接口的区别与选择.分享给大家供大家参考,具体如下: 区别: 1.对接口的使用是通过关键字implements.对抽象类的使用是通过关键字extends.当然接口也可以通过 ...

  5. php $this self,php中self与$this的区别

    学习php中self与$this的区别. 先来看下parent与self的例子: /* * parent与self的区别 * by www.jbxue.com */ class A{ function ...

  6. mysql中char与varchar的区别分析(补充一句,int和integer没区别)

    转自:http://www.jb51.net/article/23575.htm 在mysql教程中char与varchar的区别呢,都是用来存储字符串的,只是他们的保存方式不一样罢了,char有固定 ...

  7. python中bytearray和java中byte[]的区别_Python经典面试题:说说Python中xrange和range的区别?...

    昨晚一小伙后台问xrange和range有啥区别,讲了下他倒领悟的挺快,其实这也是你各面试Python岗位,经常会遇到的Python面试题,长个心眼哈,说不定明年3月你找工作就用上了. 废话不多说,开 ...

  8. python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法

    python中函数和方法的区别?Python编程判断当前获取的对象是函数还是方法 目录

  9. SQL中where与having的区别

    SQL中where与having的区别 目录 SQL中where与having的区别 创建表 插入数据 进行聚合操作 # WHERE是在聚合之前进行数据行的过滤而HAVING实在聚合之后进行新数据的过 ...

  10. mysql''和null,mysql中NULL和null的区别

    接触php的web开发一段时间了,在进行数据库操作的时候经常会遇到一个问题,使得同一字段在页面显示时有3种类型NULL,null以及数字,当时的解决办法是将这一字段定义为varchar类型,在插入数据 ...

最新文章

  1. GPT-3:人工智能的新突破
  2. 6.4 如何初始化聚类中心-机器学习笔记-斯坦福吴恩达教授
  3. 深入redis内部--实现字符串
  4. 深度学习、自然语言处理和表征方法
  5. Nacos自定义扩展的 Data Id 配置
  6. [python作业AI毕业设计博客]大数据Hadoop工具python教程1-HDFS Hadoop分布式文件系统...
  7. How to get ABAP code coverage result
  8. Android SlidingMenu 仿网易新闻客户端布局
  9. hive-05-Execution Error, return code 3 from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask
  10. 经纬张颖「炮轰」扫码点餐;淘宝特价版给拼多多送芒果;Firefox 87.0 发布|极客头条...
  11. dropzonejs中文翻译手册 DropzoneJS是一个提供文件拖拽上传并且提供图片预览的开源类库....
  12. Graphviz安装配置教程(图文详解)
  13. Windows makecert生成代码签名证书
  14. 华为交换机dhcp获取不到_华为S7706交换机DHCP Server 配置不成功问题
  15. 黑苹果台式机机型选择的方法论——如何快速选择适合自己的机型(2021年12月1日更新)
  16. 使用 acme.sh 签发 SSL证书失败
  17. python爬取网易云歌单
  18. 中海达ihand30手簿使用说明_中海达iHand30 手簿使用说明书
  19. 使用linux配置环境变量后发现命令不能用问题
  20. Python 条件判断 If

热门文章

  1. slackware下ibus编译安装(更新:2010/10/17)
  2. 美国弗吉尼亚大学计算机科学,弗吉尼亚大学UVa计算机科学Computer Science专业排名第201-250位(2021年THE世界大学商科排名)...
  3. HTML及相关知识汇总
  4. coreldraw怎样定数等分_coreldraw 里怎么将线段等分?
  5. springboot基于微信小程序的驾校驾驶证报名练车预约小程序 uinapp 计算机毕业设计
  6. Linguistic Regularities in Continuous Space Word Representations
  7. JavaScript 30 Day -- 07 彩虹画笔
  8. Delphi WebBrowser与网页交互
  9. 上半年要写的博客文章26
  10. python模拟手机app签到_利用 Python + Selenium 实现自动登陆签到