读一个文本文件,并用二进制方式生成相应的新文件,并比较两个文件的大小要求两个文件名从键盘输入
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(); } }
相关文章推荐
- 已有两个文本文件,今要求编程序从这两个文件中读出各行字符,逐个比较这两个文件中相应的行和列上的字符,如果遇到互不相同的字符,输出它是第几行第几列的字符
- java 从键盘输入一个关键字,在 D:盘查找文件,如果文件名中包含该关键字,则输出这个文件的绝对路径,如果都没有找到,则输出找不到相关信息。
- 输入任意大小的三个整数,判断其中是否有两个奇数一个偶数。若是,则输出“YES”,不是则输出“NOT” (要求用条件表达式进行判断,不使用if语句)
- 文件比较. 写一个比较两个文本文件的程序. 如果不同, 给出第一个不同处的行号和 列号.
- Java—接受键盘输入的两个数字进行比较大小
- 从键盘输入两个字符串,不用字符串函数strcmp()比较两者的大小
- 编写一个多线程函数实现对数组排序,要求: 1.至少用两个线程 2.数组的元素值可以事先定义好,或者可以从键盘输入(增加一个线程)。 3.用一个线程对数组排序,用另一个线程输出排序结果。 4.保证先排好序,再输出。
- 从键盘输入两个学生数据,写入一个文件中, 再读出这两个学生的数据显示在屏幕上。
- 9-6 文件比较。写一个比较两个文本文件的程序。如果不同,给出第一个不同处的行号和列号。
- javaSE中的输入输出流---一个读取流,相应多个输出流。并且生成的碎片文件都有有序的编号
- git的patch---解决二进制文件冲突----生成某个文件的patch-----合并一个patch-----查看某个文件的历史---比较两个文件
- 9.11练习:文件访问,写一个逐页显示文本文件的程序,提示输入一个文件名,每次显示文本文件的25行,暂停并向用户提示“按任意键继续”,按键后继续执行。
- 从键盘输入接收一个文件夹路径,打印出该文件夹下所有的.txt文件名(后缀名文件)
- 请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句
- 编程:从键盘输入一个字符串 最终以读的方式在显示屏输出
- P51 第3题 编写一个程序从键盘输入10个数,要求出其中最小的
- C语言:从键盘输入一个字符串,以感叹号!作为结束标志,将其中的小写字母全部转换成大写字母,然后输出到一个磁盘文件test中保存。
- 请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句。
- 通过键盘输入两个整数、检查输入整数是否符合要求,并计算出其最大公约数。
- 定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句