目录

简述

代码

编译运行


简述

Linux下的所有资源都被抽象为文件,所以对所有资源的访问都是以设备文件的形式访问,设备文件的操作主要包括:打开、关闭、读、写、控制、修改属性等。下面的示例代码主要是对文本文件的拷贝。

其实对于一些复杂一点的设备,主要操作也是类似,比如摄像头,在linux下也是一个设备文件,打开之后,可以读取摄像头的参数,然后可以读取图像数据,读取到的图像数据可以编码后保存到文件中,这就是录像的过程,也可以把读到的图像数据送到LCD显示屏的帧缓存去显示出来。

再比如串口的操作,在Linux下,对于串口通信,也是设备文件的读写操作:打开设备文件--->配置参数(波特率、停止位、校验位等)--->读取/写入数据。

代码

#include <stdio.h>
#include <unistd.h>
#include <string.h>
#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h> #define M 128 int
main(int argc, char **argv)
{
if(argc < 3){
printf("Usage:%s,<file1>,<file2>\n",argv[0]);
return -1;
} int fd1,fd2;
char buf[M];
int count = -1; memset(buf, '\0', M);
if((fd1 = open(argv[1],O_RDONLY)) == -1){
perror("open file1 error:");
return -1;
}
if((fd2 = open(argv[2],O_RDWR | O_CREAT,0644)) == -1){
perror("open file2 error:");
return -1;
} while(count != 0){
if((count = read(fd1,buf,M)) == -1){
perror("read file1 error:");
return -1;
} if((count = write(fd2,buf,count)) == -1){
perror("write error:");
return -1;
}
}
close(fd1);
close(fd2);
return 0;
}

编译运行

gcc copy.c -o copy

./copy copy test
$ ls
copy copy.c test $ diff copy test
$

运行结果,程序对其自身拷贝了一份为test的文件,用diff命令比较两个文件,没有差异,完全一样,说明拷贝成功了。

最新文章

  1. UWP 判断windows mobile是使用的实体键还是虚拟按键
  2. 优秀开发人员网站推荐。——Arvin
  3. DotSpatial 删除图层要素
  4. C++中未初始化的bool值的问题
  5. Sumlime Text编辑文件后快速刷新浏览器
  6. Java学习笔记(六)&mdash;&mdash;方法
  7. [BZOJ 3759]Hungergame
  8. STM
  9. Android和WCF通信 - 大数据压缩后传输
  10. DMOZ介绍以及如何提交
  11. BZOJ3403: [Usaco2009 Open]Cow Line 直线上的牛
  12. Android项目目录结构模板以及简单说明【简单版】
  13. JS所包含的大纲内容,以及JS中数据类型、运算符的介绍
  14. centos6.5磁盘扩容
  15. SSH error ( Read from socket failed: Connection reset by peer ) and it's solution
  16. Netty 核心组件 EventLoop 源码解析
  17. [Linux] Linux系统(登陆、退出、修密码)
  18. CF 919 D. Substring
  19. 安装ffmpeg
  20. Nginx学习基础(一)

热门文章

  1. 数据可视化之powerBI基础(十)快速度量值,帮你更快的进行数据分析
  2. 目录(Django开发)
  3. 【软件测试】Python自动化软件测试算是程序员吗?
  4. 数据结构C语言实现----清空、销毁一个栈
  5. Go Pentester - TCP Scanner
  6. 一起聊聊PHP的几个设计模式
  7. 软件测试面试题,十年HR面试经验分享
  8. 常用限流算法与Guava RateLimiter源码解析
  9. springcloud之Eureka注册中心
  10. python beautifulsoup基本用法-文档搜索