C++ 中read和write函数
转载自:http://blog.sina.com.cn/s/blog_6ae8b50d0100udpd.html
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++ 中read和write函数相关推荐
- C语言中连续调用rand函数,返回值不变
C语言中连续调用rand函数,返回值不变 最近用C语言随机函数编程发现了一个奇怪的现象: 简易版代码: #include<stdio.h> #include<stdlib.h> ...
- 函数指针--Nginx和Redis中两种回调函数写法
1.Nginx和Redis中两种回调函数写法 #include <stdio.h>//仿Nginx风格 //结构外声明函数指针类型 typedef void (*ngx_connectio ...
- c语言c++语言中静态变量,函数详解
静态变量,静态函数对于一些c,c++的初学者来说,造成了不少的困扰.昨晚和寝室的室友讨论到这 个问题,想了一下,作了一下总结: 虽然说c和c++在很多人的眼里就是孪生姐妹,其实还是有很大区别的.在这里 ...
- avascript中的this与函数讲解
徐某某 一个半路出家的野生程序员 javascript中的this与函数讲解 前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大 ...
- python使用函数的目的_在Python 3.x中经常看到定义函数有一个单独的 * 参数?定义这样参数的目的是?怎样对其取值呢?...
参数在python中总是通过赋值进行传递的.在默认情况下,参数是通过其位置进行匹配的,从左到右,而且必须精确的传递和函数头部参数名一样多的参数. 这种默认的传递方式很简单 def f(a,b,c): ...
- Python3中一些有用的函数
Python3中一些有用的函数 1.根据两个列表创建一个字典 prod_id = [1, 2, 3]prod_name = ["foo", "bar", &qu ...
- C++中的内联函数inline
1.Cpp中的内联函数 内联函数是通常与类一起使用.如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方.对内联函数进行任何修改,都需要重新编译函数的所有客户端,因 ...
- pandas中使用rolling.corr函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations)、例如,计算两种商品销售额之间的3个月的滚动相关性
pandas中使用rolling.corr函数计算两个时间序列数据列之间的滚动相关性(Rolling correlations).例如,计算两种商品销售额之间的3个月的滚动相关性 目录
- python使用statsmodels包中的robust.mad函数以及pandas的apply函数计算dataframe中所有数据列的中位数绝对偏差(MAD)
python使用statsmodels包中的robust.mad函数以及pandas的apply函数计算dataframe中所有数据列的中位数绝对偏差(MAD.Median Absolute Devi ...
- python使用numpy中的np.mean函数计算数组的均值、np.var函数计算数据的方差、np.std函数计算数组的标准差
python使用numpy中的np.mean函数计算数组的均值.np.var函数计算数据的方差.np.std函数计算数组的标准差 目录
最新文章
- java重写paint方法时怎么样不覆盖文字_美团十月社招Java面试题合集,JVM+Spring+Spring,看了答案其实也不难...
- NumPy之:理解广播
- linux驱动之ioctl
- Linux查看二进制文件hexeditor
- oracle数据库等级,[数据库]Oracle数据库建表并用SQL编程分等级
- sql怎么读_mysql由于快照读,造成数据混乱,该如何解决
- SQL触发器 常用语句
- 《精通Unix下C语言编程与项目实践》读书笔记(2)
- 初中毕业能学习软件测试吗,我只是初中毕业而且23岁了会不会太晚我想学 – 手机爱问...
- linux shell 数字雨,cmd命令如何实现数字雨的效果
- 开源阅读书源_【阅读】一款开源的强大的看书软件!amp;超多书源。
- 《Java从入门到放弃》框架入门篇:SpringBoot+mybatis搭建三层架构项目
- JavaScript编辑器推荐
- 暂缓上市的云知声,技术究竟几何?
- 台式机使用笔记本电脑上网解决办法。
- 范德堡计算机科学硕士,范德堡大学计算机科学研究生怎么样?好不好
- 电脑开机黑屏,只有鼠标能动
- 华为快应用IDE——让快应用开发更快
- java程序介绍和介绍
- “佐藤可士和”的超整理术 整理真的可以让人愉悦