1. read

#include <unistd.h>

ssize_t read(int filedes, void *buf, size_t nbytes);
 
        返回值:读取到的字节数;0(读到 EOF);-1(出错)

read 函数从 filedes 指定的已打开文件中读取 nbytes 字节到 buf 中。以下几种情况会导致读取到的字节数小于 nbytes :

A. 读取普通文件时,读到文件末尾还不够 nbytes 字节。例如:如果文件只有 30 字节,而我们想读取 100 字节,那么实际读到的只有 30 字节,read 函数返回 30 。此时再使用 read 函数作用于这个文件会导致 read 返回 0 。

B. 从终端设备(terminal device)读取时,一般情况下每次只能读取一行。

C. 从网络读取时,网络缓存可能导致读取的字节数小于 nbytes 字节。

D. 读取 pipe 或者 FIFO 时,pipe 或 FIFO 里的字节数可能小于 nbytes 。

E. 从面向记录(record-oriented)的设备读取时,某些面向记录的设备(如磁带)每次最多只能返回一个记录。

F. 在读取了部分数据时被信号中断。

读操作始于 cfo 。在成功返回之前,cfo 增加,增量为实际读取到的字节数。

2. write

#include <unistd.h>

ssize_t write(int filedes, const void *buf, size_t nbytes);
 
   返回值:写入文件的字节数(成功);-1(出错)

write 函数向 filedes 中写入 nbytes 字节数据,数据来源为 buf 。返回值一般总是等于 nbytes,否则就是出错了。常见的出错原因是磁盘空间满了或者超过了文件大小限制。

对于普通文件,写操作始于 cfo 。如果打开文件时使用了 O_APPEND,则每次写操作都将数据写入文件末尾。成功写入后,cfo 增加,增量为实际写入的字节数。

c/c++ read 函数和 write 函数相关推荐

  1. render函数和redirect函数的区别+反向解析

    render函数和redirect函数的区别+反向解析 1.视图函数:一定是要包含两个对象的(render源码里面有HttpResponse对象)   request对象:----->所有的请求 ...

  2. Python day10 global关键字、函数递归、匿名函数、map函数的用法详解

    1.global关键字 引用全局变量,在局部全局变量改变,也会改变,global相当于指针,将地址指向全局变量的name name='littlepage'def littepage():global ...

  3. C++ 笔记(13)— 函数(函数声明、函数定义、函数调用[传值、指针、引用]、函数参数默认值、函数重载)

    每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数. 1. 函数声明 函数声明告诉编译器函数的名称.返回类型和参数.函数声明包括以下几个部分: ret ...

  4. Go 学习笔记(16)— 函数(02)[函数签名、有名函数、匿名函数、调用匿名函数、匿名函数赋值给变量、匿名函数做回调函数]

    1. 函数签名 函数类型也叫做函数签名,可以使用 fmt.Printf("%T") 格式化参数打印函数类型. package mainimport "fmt"f ...

  5. Go 学习笔记(15)— 函数(01)[函数定义、函数特点、多值返回、实参形参、变长参数,函数作为参数调用]

    1. 函数定义 Go 语言最少有个 main() 函数.函数声明告诉了编译器函数的名称,返回类型和参数. func funcName(parameter_list)(result_list) {fun ...

  6. MySQL 学习笔记(3)— 字符串函数、数值函数、日期时间函数、流程函数、聚集函数以及分组数据

    1. 字符串函数 MySQL 的常用函数包括字符串函数.数值函数.日期时间函数.流程函数等. SELECT ascii("abc"),char(97),concat("h ...

  7. 经常可能会用到的【函数节流和函数防抖】记录下,做下区分

    今天突然被人问到,函数节流和函数防抖的区别是什么, 结果我脑子一热直接举了个滚动条的粟子说是优化高频率执行的手段,就记得自己是用setTimeout来实现的. 完了区别是什么??哪个是哪个都蒙B了 回 ...

  8. c语言随机数生成0 99函数,C语言生成随机数的函数、延时函数

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 下面C语言代码使用了生成随机数的函数.延时函数.请大家仔细观察其显示效果. 从以下代码,我们可以得出一个重要的结论:当上述两类函数被放入循环时,应作出一定 ...

  9. 在python中使用关键字define定义函数_python自定义函数def的应用详解

    这里是三岁,来和大家唠唠自定义函数,这一个神奇的东西,带大家白话玩转自定义函数 自定义函数,编程里面的精髓! def 自定义函数的必要函数:def 使用方法:def 函数名(参数1,参数2,参数-): ...

  10. php的匿名函数和闭包函数

    php的匿名函数和闭包函数 tags: 匿名函数 闭包函数 php闭包函数 php匿名函数 function use 引言:匿名函数和闭包函数都不是特别高深的知识,但是很多刚入门的朋友却总是很困惑,因 ...

最新文章

  1. 因0x764fb11c的错误状态_《最强大脑》国际赛王易木又被质疑作弊,因背反答案露出了马脚?...
  2. hook NtTerminateProcess进行应用的保护
  3. 受益一生的15个学习习惯
  4. mysql --The MEMORY Storage Engine--官方文档
  5. python26.dll没有发现_python26.dll 文件下载
  6. 用VisualVM分析MyEclipse
  7. 你的灯亮着吗阅读笔记之一
  8. 计算机硬件存储器,个人计算机的存储器系统 说说内核与计算机硬件结构(5)
  9. 6/7 SELECT语句:过滤(正则表达式REGEXP)
  10. html5(八) IndexedDB
  11. 【344天】我爱刷题系列103(2018.01.15)
  12. 计算机病毒制作教程,如何制作电脑病毒方法
  13. CDN-内容推送网络
  14. 【游戏行业观察】篇1:成龙与《传奇》:传统网游营销模式的变迁
  15. 小红书竞品分析_App竞品分析报告:小红书VS洋码头
  16. 面向服务框架WebServiceBPM系统
  17. 【045】 快递管理系统(单链表)
  18. 有关对梯度、散度、旋度的纯数学理解
  19. Golang入门项目(家庭收支软件和客户信息管理软件)
  20. linux安全擦除ssd命令,10秒完成 100%恢复固态硬盘性能的终极安全擦除方法

热门文章

  1. 如何检查MacBook 电池的循环使用次数及健康度?电池续航的方法
  2. Unity 获取设备国家地区(Android)
  3. 【揭密:刘强东9年密谋的商业布局—京东快物流背后的核心技术盘点】
  4. 水仙花数 matlab,matlab向量运算解决水仙花数问题
  5. 基于PyTorch、易上手,细粒度图像识别深度学习工具库Hawkeye开源
  6. Modra Pharmaceuticals于2021 ASCO GU年会公布其转移性前列腺癌IIb期临床试验初步数据
  7. pytorch自定义forward和backward函数
  8. kubectl命令使用滚动更新和回滚
  9. Android 10 添加 lunch
  10. 最新H5网页分享到Twitter、Facebook带缩略图