read(),write() 读/写文件
read
read()是一个系统调用函数。用来从一个文件中,读取指定长度的数据到 buf 中。
使用read()时需要包含的头文件: <unistd.h>
函数原型:
ssize_t read(int fd, void *buf, size_t count);
ssize_t是系统头文件中 typedef 定义的数据类型,相当于 signed int。
参数:
fd:要从中读取内容的文件的文件描述符。
count:期望读取的文件字节数。
返回值:
成功 返回读到的字节数; 已读到文件结尾返回 0; 出错返回 -1。
Write
write()是一个系统调用函数,作用是将buf 中的内容写入到文件中。
使用write()函数时要包含头文件 <unistd.h>。
函数原型:
ssize_t write(int fd, char *buf, size_t count)
参数:
fd:要从中读取内容的文件的文件描述符。
count:期望读取的文件字节数。
返回值:
写入成功返回实际写入的字节数,出错返回-1。
不得不提的是,返回-1的常见原因是:磁盘空间已满,超过了一个给定进程的文件长度。
使用read(),write()完成文件拷贝:
#include <unistd.h>
int main(int argc, char *argv[])
{
int fs = open(argv[], O_RDONLY); //打开要复制的源文件
if (fs == -)
{
perror("open source file");
return -;
}
int fd = open(argv[], O_RDONLY | O_CREAT | O_EXCL, ); //创建要复制的目标文件,若文件已存在退出
if (fd < )
{
perror("open dest file");
return -;
} char buf[] = {};
int count ;
while ((count = read(fs, buf, sizeof(buf))) > ) //从源文件读取数据并写入目标文件
{
write (fd, buf, strlen(buf));
}
close(fs);
close(fd);
return ;
}
read(),write() 读/写文件的更多相关文章
- java读/写文件
读取文件参考:https://blog.csdn.net/weixin_42129373/article/details/82154471 写入文件参考:https://blog.csdn.net/B ...
- C++ 二进制文件 读 写文件
1 #include <iostream> 2 #include <string> 3 #include<fstream> 4 using namespace st ...
- 关于使用 Java 分片读\写文件
分片读取文件方法: /** * 分片读取文件块 * * @param path 文件路径 * @param position 角标 * @param blockSize 文件块大小 * @return ...
- c# 读/写文件(各种格式)
最简单的: --------写 //content是要写入文本的字符串 //(@txtPath + @"\" + rid + ".txt");要被写入的TXT ...
- RandomAcessFile、MappedByteBuffer和缓冲读/写文件
项目需要进行大文件的读写,调查测试的结果使我决定使用MappedByteBuffer及相关类进行文件的操作,效果不是一般的高. 网上参考资源很多,如下两篇非常不错: 1.花1K内存实现高效I/O的Ra ...
- Pandas 基础(4) - 读/写 Excel 和 CSV 文件
这一节将分别介绍读/写 Excel 和 CSV 文件的各种方式: - 读入 CSV 文件 首先是准备一个 csv 文件, 这里我用的是 stock_data.csv, 文件我已上传, 大家可以直接下载 ...
- 【练习】Java中的读文件,文件的创建,写文件
前言 大家好,给大家带来Java中的读文件,文件的创建,写文件的概述,希望你们喜欢 读文件 public static void read(String path,String filename){ ...
- py库: xlwt 、xlrd (写读EXCEL文件)
写EXCEL文件 # -*- coding: utf-8 -*- import xlwt book = xlwt.Workbook(encoding = "utf-8", styl ...
- Python: 读文件,写文件
读写文件是最常见的IO操作.Python内置了读写文件的函数. 读写文件前,我们先了解一下,在磁盘上读写文件的功能都是有操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求 ...
随机推荐
- 设计模式2----建造者模式(builder pattern)
定义:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 类型:创建类模式 类图: UML图 四个要素 Builder: 抽象建造者ConcreteBuilder: 具体建造者 ...
- (转).NET平台开源JSON库LitJSON的使用方法
一个简单示例: String str = "{’name’:’cyf’,’id’:10,’items’:[{’itemid’:1001,’itemname’:’hello’},{’itemi ...
- 基于java callable及future接口解决生产者消费者问题
这两天复习java线程时,把java里面的线程基本知识点与jdk1.5以后新添加的一些类的使用都了解了一下,借用生产者消费者的问题来将他们实践一下. 题目:(题目在csdn一大牛的空间找的) 生产者- ...
- 初学Java ssh之Spring 第一篇
之前虽然毕业前实习的工作是使用的C# .NET语言,但是,毕业后还是果断应聘Java.虽然自己对Java的理解不如C#深入,只是对基础知识比较熟悉,但还是义无返顾了··· 虽然应聘经历比较坎坷,但最终 ...
- ORA-25153: Temporary Tablespace is Empty解决方法
SQL> @/tmp/4.txt create table huang_1 (deptno number,dname varchar2(19),loc varchar2(20)) * ERROR ...
- rdf
更多内容请看这里:http://www.w3school.com.cn/rdf/index.asp 资源描述框架 (RDF) 是描述网络中资源的 W3C 标准. RDF 是一个框架,用来描述网络资源, ...
- [每日一题] OCP1z0-047 :2013-07-25 权限――角色与对象权限
有疑问可以去itpub讨论:http://www.itpub.net/thread-1804842-1-1.html 按题意,操作如下: 1.创建一个角色r1 sys@OCM> create r ...
- ECstore报表不显示解决
最近研究ECSTORE发现后台报表显示空白,Google了一下发现N多统一的做法,直接往表里插几条数据.呵呵,更深入一点 1.要显示报表功能首先要确保已经配置好contab的定时任务,定时任务能够执行 ...
- css透明度的一些兼容测试
前言 网站丢给了外包公司来弄,但是老外写css的时候似乎没有考虑到国内的浏览器市场,于是只用了opacity这个属性来写,当IE8-的浏览器访问的时候,浮动层就像一块大黑斑药膏贴在哪里.很显然,婀娜多 ...
- FileOutputStream
OutputStream: FileOutputStream BufferedOutputStream 缓冲输出流 package file; import java.io.File; import ...