老师在pta中布置的作业,突发奇想存在csdn里面,毕竟平时经常用,也能方便温故而知新
(1)从键盘输入20个整数,分别存放在两个磁盘文件中(每个文件存放10个整数);
(2)从f1.dat读入10个数,然后存放到f2.dat文件原有的数据的后面;
程序代码结构如下:
#include <iostream>
#include <fstream>
using namespace std;
/******请补充代码*********/
//fun1函数从键盘输入20个整数,分别存放在两个磁盘文件中
/******请补充代码*********/
//fun2函数从f1,dat读入10个数,然后存放到f2.dat文件原有数据的后面
int main() {
fun1(); //分别调用2个函数
fun2();
return 0;
}
我的代码
#include<iostream>
#include<fstream>
using namespace std;
int a[10],b[20];
void fun1()
{
ofstream fout1("f1.dat",ios::out); //目标输出文件,通过fout1将数据传输进去
ofstream fout2("f2.dat",ios::out);
for(int i=0;i<4;i++) //这边没有读10个数,少读几个方便一些
{
if(i<2){
cin>>a[i];fout1<<a[i]<<" ";
}
else {
cin>>b[i];fout2<<b[i]<<" ";
}
}
}
void fun2()
{
ifstream fin("f1.dat",ios::in);
ofstream fout("f2.dat",ios::app); //在已有的文件基础上进行添加
int a;
// fout.seekp(2,ios::beg);不用在意
for(int i=0;i<2;i++){
fin>>a; //从文件f2中一次读入一个整数
fout<<a<<" "; //将该读数存放到f2.dat中
}
fin.close();
fout.close();
}
void fun3() //输出函数,看下内容对头不
{
ifstream inputFile("f2.dat");
string line;
while (getline(inputFile, line)) {
cout << line << '\n';
}
inputFile.close();
}
int main()
{
fun1();
fun2();
fun3();
return 0;
}