c++文件输入输出简单实现
1. 建立两个磁盘文件f1.dat和f2.dat,编程序实现以下工作:
① 从键盘输入20个整数,分别存放在两个磁盘文件中(每个文件中放10个整数);
② 从fl.dat中读入10个数,排序后,存放到f2.dat文件原有数据的后面(45分);
#include<iostream>
#include<fstream>
#include<algorithm>using namespace std;
int a[20];//全部数据
int b[10];//f2中数据
int c[20];//f2排序后数据
int main()
{
ofstream file1("f1.dat", ios_base::binary);
ofstream file2("f2.dat", ios_base::binary);//打开文件1.2
for(int i = 0; i < 20; i ++)//从键盘读入数据
cin >> a[i];
file1.write(reinterpret_cast<char*>(&a), sizeof(int) * 10);//数据写入文件1.2
file1.close();
file2.write(reinterpret_cast<char*>(&a[10]), sizeof(int) * 10);
file2.close();
ifstream file3("f1.dat", ios_base::binary);//读出f1中数据并排序
file3.read(reinterpret_cast<char*>(&b), sizeof(int) * 10);
file3.close();
sort(b, b + 10);
ofstream file4("f2.dat", ios_base::binary|ios_base::app);//将排序的数据追加f2中
file4.write(reinterpret_cast<char*>(&b), sizeof(int) * 10);
file4.close();
ifstream file5("f2.dat", ios_base::binary);//将排序后f2中数据读到数组c中
file5.read(reinterpret_cast<char*>(&c), sizeof(int) * 20);
file5.close();
cout << endl;
for(int i = 0; i < 20; i ++)
cout << c[i] << ' ';
//版权归作者falldeep所有
return 0;
}