您的位置:首页 > 其它

读一个文本文件,并用二进制方式生成相应的新文件,并比较两个文件的大小要求两个文件名从键盘输入

2014-01-15 20:11 399 查看
#include "iostream"
#include "string"
#include <iomanip>
#include <fstream>
#include <cstdlib>
using namespace std;

int main()
{
string oriFilename,newFilename;
cout<<"输入原文件名:";
cin>>oriFilename;
cout<<"输入新文件名:";
cin>>newFilename;

fstream infile,outfile;
infile.open(oriFilename,ios::in | ios::binary);
outfile.open(newFilename,ios::out | ios::binary);

if (!fin)
{
cout<<"open error!"<<endl;
}
else
{
int buffer[1024];
int intCountOri = 0,intCountNew = 0;
while(!fin.eof())  //判断是否读到文件尾
{
fin.read((char *)buffer,1024);  //二进制文件要用read
intCountOri = fin.gcount();  //获取原文件的实际字节数
fout.write((char *)buffer,intCountOri);  //生成相应的二进制文件,二进制写用write
}

fin.close();
fout.close();

fin.open(newFilename);
char ch;
while(fin.get(ch))
intCountNew++;

cout<<"原文件:"<<intCountOri<<endl;
cout<<"新文件:"<<intCountNew<<endl;

if (intCountOri > intCountNew)
{
cout<<"原文件大。";
}
else
{
cout<<"新文件大。";
}
fin.close();
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐