read()函数:

#include <unistd.h>
int read(int filedes, void *buff, int nbytes) ;//(文件描述符, 将读取的数据放到该地址, 将要读取的数据大小)
返回:实际读到的字节数,若已到文件尾为0,若出错为- 1。读出来的数据不会再末尾加'\0',和fread()不同。

write()函数:

#include <unistd.h>
int write(int filedes, const void * buff, int nbytes) ;//(文件描述符, 将写入的数据地址, 将要写入的数据大小)
返回:若成功为已写的字节数,若出错为- 1

#实例代码:将一个已经存在的文件拷贝到新建的文件中

#include<sys/types.h>
#include<sys/stat.h>
#include<fcntl.h>
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include <string.h>int main(){int fd, fd1, count, ret;char buf[512];memset(buf, 0, sizeof(buf));//将数组清0//只读方式打开文件fd = open("example.text", O_RDONLY);if(fd == -1){perror("open file fail:\n");exit(1);}printf("fd = %d\n", fd);//创建一个新文件fd1 = open("new_file.text", O_WRONLY | O_CREAT, 0777);if(fd1 == -1){perror("open file fail:\n");exit(1);}printf("fd1 = %d\n", fd1);//读取数据到buf数组中count = read(fd, buf, sizeof(buf));//返回值>0是成功的字节数,=0是读完,-1是读取失败if(count == -1){perror("read fail:\n");exit(1);}//循环复制数据到新建的文件中while(count){ret = write(fd1, buf, count); //返回值>0是写成功的字节数,失败返回-1if(ret == -1){perror("write");exit(1);}printf("write bytes:%d\n", ret);count = read(fd, buf, sizeof(buf));}//关闭文件close(fd);close(fd1);
}

Linux文件编程常用函数详解——read()和write()函数相关推荐

  1. linux下的arp刷新命令详解,linux arp 命令常用参数详解

    linux arp 命令常用参数详解 linux arp 命令常用参数详解 显示和修改地址解析协议(ARP)使用的"IP 到物理"地址转换表. ARP -s inet_addr e ...

  2. Linux文件读写改权限详解

    Linux文件读写改权限详解 文件的rwx权限 [ r ] [ w ] [ x ] 该文件可读(read) 该文件可修改(write) 该文件可执行(execute) 注意:只有当该文件所在目录有写权 ...

  3. python average函数详解_python基础之函数详解

    Python基础之函数详解 一.函数的定义 到现在为止,我们已经掌握了Python的基本语法和数据类型等相关基础知识了,以进行一个项目的编写了,这个时候,就会发现,很多代码需要我们进行复制粘贴,这简直 ...

  4. oracle 总转横函数,详解Oracle行列转换函数-pivot函数和unpivot函数-多智时代

    今天主要介绍一下Oracle行转列及列转行常见函数,下面一起来看看吧! 行列转换 pivot函数:行转列函数 语法:pivot(任一聚合函数 for 需专列的值所在列名 in (需转为列名的值)): ...

  5. linux 文件打包 tar,[技术]Linux文件打包tar命令详解

    Windows下最常见的压缩文件只有两种:.zip和.rar.可是Linux就不同了,有.Z.bz2..gz..tar..tar.gz等众多的压缩文件名,它们分别对应了各种压缩打包命令.要了解这些压缩 ...

  6. linux文件系统中文件基本权限,Linux文件权限基本属性图文详解

    [概述] 在 Linux 系统中,不同的用户处于不同的地位,拥有不同的权限,为保护系统安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. Linux 系统的每一个文 ...

  7. linux问题排查常用命令详解

    前阵子部署的nginx服务器出现了故障,针对故障现场做了个排查,后来发现是nginx的quic分支代码的问题,出现了死循环导致CPU 近100% 记录下在排查的思路和排查过程中使用的命令和工具 查看C ...

  8. Linux基础(十一)--Linux文件查找命令Find详解

    本文详细介绍了Linux中Find命令的相关知识 在文件系统中,我们常常会去查找某个文件,而在Linux中locate和find都是用于查找文件的. 其中locate命令是非实时查找,它会根据数据库进 ...

  9. linux文件时间属性的详解

    linux文件会有三个时间. stat file 可以查看三个时间 如: Access: 2019-01-26 19:11:10.482357682 +0800 Modify: 2019-01-26 ...

  10. php dump函数详解,php中var_dump()函数的详解说明

    本文章给大家全面的介绍一下关于php中var_dump()函数用法详解,大家可参考参考. var_dump()void var_dump ( mixed expression [, mixed exp ...

最新文章

  1. 编程珠玑第七章 粗略估算
  2. 云安全趋势下脚踏实地力拼网络危胁
  3. 怎样把centos 6.2 系统里的网卡em1还原为eth0
  4. 3/14课程 第三章 结构化的项目前期和面向对象的项目前期实例
  5. 判断list集合不为空
  6. MyBatis 缓存详解-一级缓存验证
  7. 设置edittext不自动获取焦点
  8. share-Nothing原理
  9. UI设计中颜色的前进色与后退色
  10. 随机系列生成算法(随机数生成)
  11. 【工程项目经验】之C语言或汇编语言宏展开
  12. 学习clojure(2)
  13. ActiveMQ常见配置
  14. LaserJet 5000 及 5100 系列打印机出现 pcl xl error 怎么办
  15. Qt开源作品41-网络调试助手增强版V2022
  16. iconfont-阿里巴巴矢量图标库在layui中的使用
  17. mac 安装android apk文件,.apk文件用苹果系统怎么打开
  18. 优化设计和计算机辅助,湿式空冷器优化设计和计算机辅助计算
  19. linux文件内容乱码怎么解决,window到linux文件名乱码和文件内容乱码解决总结
  20. php项目部署在腾讯云服务器,腾讯云服务器部署

热门文章

  1. 3D目标检测基础知识
  2. python大数据之缺省值处理
  3. CVPR2019资源汇总
  4. IE无法打开网页的常见原因及解决
  5. rd640服务器引导,ThinkServer RD640 OS安装手册 V1.4.pdf
  6. va_list使用方法
  7. leetcode 155. Min Stack最小栈(中等)
  8. pdf加页码java_Java 添加页码到PDF文档
  9. java pdf 使用itextpdf插入页码
  10. linux改-文件夹名称,linux修改文件夹名字