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() 读/写文件的更多相关文章

  1. java读/写文件

    读取文件参考:https://blog.csdn.net/weixin_42129373/article/details/82154471 写入文件参考:https://blog.csdn.net/B ...

  2. C++ 二进制文件 读 写文件

    1 #include <iostream> 2 #include <string> 3 #include<fstream> 4 using namespace st ...

  3. 关于使用 Java 分片读\写文件

    分片读取文件方法: /** * 分片读取文件块 * * @param path 文件路径 * @param position 角标 * @param blockSize 文件块大小 * @return ...

  4. c# 读/写文件(各种格式)

    最简单的: --------写 //content是要写入文本的字符串 //(@txtPath + @"\" + rid + ".txt");要被写入的TXT ...

  5. RandomAcessFile、MappedByteBuffer和缓冲读/写文件

    项目需要进行大文件的读写,调查测试的结果使我决定使用MappedByteBuffer及相关类进行文件的操作,效果不是一般的高. 网上参考资源很多,如下两篇非常不错: 1.花1K内存实现高效I/O的Ra ...

  6. Pandas 基础(4) - 读/写 Excel 和 CSV 文件

    这一节将分别介绍读/写 Excel 和 CSV 文件的各种方式: - 读入 CSV 文件 首先是准备一个 csv 文件, 这里我用的是 stock_data.csv, 文件我已上传, 大家可以直接下载 ...

  7. 【练习】Java中的读文件,文件的创建,写文件

    前言 大家好,给大家带来Java中的读文件,文件的创建,写文件的概述,希望你们喜欢 读文件 public static void read(String path,String filename){ ...

  8. py库: xlwt 、xlrd (写读EXCEL文件)

    写EXCEL文件 # -*- coding: utf-8 -*- import xlwt book = xlwt.Workbook(encoding = "utf-8", styl ...

  9. Python: 读文件,写文件

    读写文件是最常见的IO操作.Python内置了读写文件的函数. 读写文件前,我们先了解一下,在磁盘上读写文件的功能都是有操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求 ...

随机推荐

  1. DOM中的NodeList与HTMLCollection

    最近在看<Javascript高级程序设计>的时候,看到了这样一句话:“理解NodeList和HTMLCollection,是从整体上透彻理解DOM的关键所在.”,所以觉得应该写一篇关于N ...

  2. python自动化执行脚本

    ---恢复内容开始--- 1 (1)首先在你的.py文件上加上一行代码注释: #!/usr/local/bin/python2.7 (2)终端下执行: crontab -e 进入后,输入i 进入可编辑 ...

  3. Lambda表达式 - 浅谈

    概述: 只要有委托参数类型的地方,就可以使用 Lambda表达式.在讲述Lambda表达式之前,有必要先简要说明一下 委托中的"匿名方法": using System; using ...

  4. linux目录权限小记

    r : 拥有读取目录结构列表的权限 x:拥有进入此目录的权限 w: 1: 建立新的档案和目彔: 2删除已经存在的档案和目录(无论该档案的权限为何!) 3能够重命名档案和目录: 4 能够移动目录里面的 ...

  5. java下properties属性文件操作

    package cn.stat.p1.file; import java.io.File; import java.io.FileInputStream; import java.io.FileNot ...

  6. uva 10212 - The Last Non-zero Digit.

    #include <cstdio> #define ll long long const ll MOD = 1e9; int main() { ll N, M; while(scanf(& ...

  7. window.open窗口居中和窗口最大化

    1.window.open()参数 window.open(pageURL,name,parameters) 其中: pageURL为子窗口路径 name为子窗口句柄 parameters为窗口参数( ...

  8. 工作中遇到的浏览器差别(就不叫IE6bug了)

    1.根据ie版本写css <!--[if lt IE 8]> <style> .cntContainer{margin-top: -1px;} </style> & ...

  9. MVC中,加入的一个aspx页面用到AspNetPager控件处理办法

    今天项目遇到了如题所示的问题,按照官方的案例介绍做分页,简直要奔溃了, 使用URL重写,但是page总是1,根本不跳, 不使用URL重写,又出现,第一页是 http://aa.com/view_asp ...

  10. Symfony2源码分析——启动过程2

    文章地址:http://www.hcoding.com/?p=46 上一篇分析Symfony2框架源码,探究Symfony2如何完成一个请求的前半部分,前半部分可以理解为Symfony2框架为处理请求 ...