linux创建读写文件
来源:互联网 发布:php进销存源码erp 编辑:程序博客网 时间:2024/05/01 20:01
#include <unistd.h>#include <fcntl.h>#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <errno.h>#include <string.h>#define BUFFER_SIZE 1024int main(int argc,char **argv){ int from_fd,to_fd; int bytes_read,bytes_write; char buffer[BUFFER_SIZE]; char *ptr; if(argc!=3) { fprintf(stderr,"Usage:%s fromfile tofile\n\a",argv[0]); exit(1); } /* 打开源文件 */ if((from_fd=open(argv[1],O_RDONLY))==-1) { fprintf(stderr,"Open %s Error:%s\n",argv[1],strerror(errno)); exit(1); } /* 创建目的文件 */ if((to_fd=open(argv[2],O_WRONLY|O_CREAT,S_IRUSR|S_IWUSR))==-1) { fprintf(stderr,"Open %s Error:%s\n",argv[2],strerror(errno)); exit(1); } /* 以下代码是一个经典的拷贝文件的代码 */ while(bytes_read=read(from_fd,buffer,BUFFER_SIZE)) { /* 一个致命的错误发生了 */ if((bytes_read==-1)&&(errno!=EINTR)) break; else if(bytes_read>0) { ptr=buffer; while(bytes_write=write(to_fd,ptr,bytes_read)) { /* 一个致命错误发生了 */ if((bytes_write==-1)&&(errno!=EINTR)) break; /* 写完了所有读的字节 */ else if(bytes_write==bytes_read) break; /* 只写了一部分,继续写 */ else if(bytes_write>0) { ptr+=bytes_write; bytes_read-=bytes_write; } } /* 写的时候发生的致命错误 */ if(bytes_write==-1) break; } } close(from_fd); close(to_fd); exit(0);}
- linux创建读写文件
- 【linux】驱动程序创建和读写进程文件
- linux创建文件的获取读写文件权限设置
- 文件创建、读写操作
- 创建和读写linux下面的/proc文件
- linux C复习:文件操作(创建、打开、读写)
- linux创建debugfs文件并进行读写操作
- ini文件的创建读写
- 文件的创建与读写
- 创建,打开,读写文件实例
- Java文件读写与创建
- 读写文件及创建目录
- java 创建文件夹,读写文件
- java文件创建读写代码
- 创建文件并进行读写
- C# 文件创建与读写
- 创建INI文件读写程序
- QT 创建、读写INI文件
- Outlook邮箱处理
- OpenNI 2.x与Kinect For Windows的安装
- ZooKeeper安装过程
- resignfirstresponder
- Java IO流学习总结
- linux创建读写文件
- Android开发(4)Android电话拨号器
- linux进程通信---几个发送信号的函数(kill,raise,alarm,pause)
- DIV层的五条叠加法则
- Android开发(5)--对应用进行单元测试
- 设置APP加载页面
- OpenCV 的四种边界生成方式
- 【Boost】boost库asio详解——boost::asio::buffer用法
- linux 远程shell 实现