不带缓存的文件复制程序
来源:互联网 发布:桔子浏览器怎么样知乎 编辑:程序博客网 时间:2024/05/07 07:16
#include <stdio.h>#include <stdlib.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <errno.h>#define MAX_SIZE 1024int main(int argc,char *argv[]){ int read_num; int write_num; int read_fd; int write_fd; char buff[MAX_SIZE]; if(argc != 3) { printf("%s fromfile tofile/n",argv[0]); } read_fd = open(argv[1],O_RDONLY); if(read_fd == -1) { printf("open %s failure!\n",argv[1]); exit(1); } write_fd = open(argv[2],O_CREAT|O_WRONLY,S_IWUSR); if(write_fd == -1) { printf("create %s failure!\n",argv[2]); exit(1); } while(read_num = read(read_fd,buff,MAX_SIZE)) //未读取完时(!= 0) { if(read_num == -1) //读取出错时 { printf("read date from %s fail\n",argv[1]); break; } else { char *p = buff; while(1) { write_num = write(write_fd,p,read_num); if(write_num == -1) { printf("write date to %s fail\n",argv[2]); break; } if(write_num == read_num | write_num == 0) //写完一组或全部写完 { break; } if(write_num > 0) { p = p + write_num; read_num = read_num - write_num; } } } } close(read_fd); close(write_fd); return 0;}
0 0
- 不带缓存的文件复制程序
- Linux中带缓存的文件复制
- linuxc不带缓存的文件操作
- linux不带缓存的文件操作
- 多线程编程实例:不带缓冲的多线程文件复制
- 不带缓存的文件I/O操作 open/close
- 不带缓存的文件I/O操作 read/write
- 不带缓存的文件I/O操作 fcntl
- 不带缓存的文件I/O操作
- 文件IO(不带缓存)与标准IO(带缓存流IO)的小结
- 带缓存的IO和不带缓存的IO
- 带缓存的io与不带缓存的io
- 带缓存的io与不带缓存的io
- 带缓存与不带缓存函数的区别
- 带缓存和不带缓存的区别
- 【文件】不带缓存的文件I/O操作函数之creat、open
- 不带缓存的IO操作
- 不带缓存的文件操作用到的几个的函数
- 捕获抛出的异常在JSP中进行显示
- [Machine Learning]--MAP, MLE, EM, GMM
- 树分治(点分治模板)poj-1741 Tree
- Connection的setAutoCommit()方法
- 代理模式--静态代理和动态代理
- 不带缓存的文件复制程序
- arcgis连接oracle,并向oracle中导入shp数据
- js 数组排序sort()
- 休闲小趣一一数码照片修饰与处理
- 《Go语言学习笔记》-测试
- 安卓的线程池的四种方式
- input输入时软键盘回车显示搜索
- Item 07:为多态基类声明virtual析构函数
- Ubuntu下Elasticsearch安装