通过C++文件复制小程序来理解read、write函数
来源:互联网 发布:ubuntu的浏览器字体 编辑:程序博客网 时间:2024/06/17 04:43
在初期,对于输入文件和输出文件的理解,作为调取信息的文件来说,我们需要把读取方式设置为ios::in,即作为我们程序的输入;同样,对于存放信息的文件来说,我们需要把读取方式设置为ios::out,即作为程序的输出。在读取文件信息的时候,由于read函数遇到文件结束标识符EOF的时候,他会提前结束读取,加上我的输入文件中根本不存在100个字节的字符,所以不会进入weile循环,这样就必须要在while循环之后加入一个提取上次读取字符的操作,再讲上次读取到的字符write到目标文件中。否则,就会出现目标文件中没有复制到任何信息的情况。/*****************************************************copyright (C), 2016-2017, NJIT, Ltd. File name:Author:Jijiahao Version:0.1 Date: Description:Funcion List: *****************************************************/#include <iostream>#include <fstream>using namespace std;int main(int argc,char *argv){ fstream outfile("1.dat",ios::in|ios::binary); if(!outfile) { cerr<<"open 1.dat error"<<endl; exit(1); } fstream infile("2.dat",ios::out|ios::binary); if(!infile) { cerr<<"open 2.dat error"<<endl; exit(1); } outfile.seekg(ios::beg); //文件定位 infile.seekp(ios::beg); char buf[100]; memset(buf,0,sizeof(buf)); while( outfile.read(buf,sizeof(buf)) != 0) { infile.write(buf,sizeof(buf)); memset(buf,0,sizeof(buf)); } infile.write(buf,outfile.gcount()); outfile.close(); infile.close(); cout<<"1.dat -> 2.dat 赋值成功!"<<endl; return 0;}
阅读全文
1 0
- 通过C++文件复制小程序来理解read、write函数
- Linux下read和write函数复制一个文件
- C语言open,read,write函数,及文件读写
- C语言open,read,write函数,及文件读写
- 利用read/write系统调用复制文件
- c/c++ read 函数和 write 函数
- linux c通过文件描述符以及write和read方法对文件进行读写
- Linux -C 的read 和 write函数
- Linux -C 的read 和 write函数
- c语言中的read和write函数
- C语言中的Read和Write函数
- c语言中的read和write函数
- 系统函数-文件操作-write() read()
- read/write函数实现文件的copy
- Linux 文件 open,creat,write,read (C)
- 文件I/O-003.read和write复制文件
- open函数 write函数 以及 read函数 文件描述符
- 深入理解linux下write()和read()函数
- 计算能力
- 2017年Java面试题
- java 每日练习-2
- QT静态编译
- Unity3D获取游戏对象详解
- 通过C++文件复制小程序来理解read、write函数
- 暑期项目开发实训 Day24
- 【Oracle 12c Flex Cluster专题】Leaf Node的故障迁移
- C++之new 和 delete
- Picasso
- JavaScript定义类的方法
- 转换到 COFF 期间失败: 文件无效或损坏和VS2010不能创建项目的解决办法
- StyleBank: An Explicit Representation for Neural Image Style Transfer 论文理解
- Java多态--- 如何匹配的呢?