part 1
3.txt 的图片见part 2。
part 2
#include <iostream> #include <fstream> #include <string> #include <cstdlib> using namespace std; int main() { string file; ofstream fout; cout<<"open the file:"; cin>>file; fout.open(file,ios_base::app); if(!fout.is_open()) { cout<<"fail to open"<<endl; exit(0); } fout<<endl<<"merge successfully"<<endl; fout.close(); return 0; }
part 3
1.
#include <iostream> #include <string> #include "utils.h" #include <fstream> #include <ctime> #include <cstdlib> using namespace std; int main() { string filename; filename = getCurrentDate(); cout << filename << endl; string file; int n; ifstream fin; ofstream fout; cout<<"输入名单列表的文件名:"; cin >>file; cout<<"输入随机抽取人数:"; cin>>n; fin.open(file); if(!fin.is_open()) { cerr<<"fail to open"<<file<<endl; system("pause"); exit(0); } fout.open(filename); if(!fout.is_open()) { cerr<<"fail to open"<<filename<<endl; system("pause"); exit(0); } srand(time(0)); int line=0,ran; string t[100],a; while (getline(fin,a)) { t[line++]=a; } while(n--) { ran=rand()%83; fout<<t[ran]<<endl; cout<<t[ran]<<endl; } fin.close(); fout.close(); return 0; }
2.
#include<iostream> #include<fstream> #include<string> using namespace std; int main() { string file; ifstream fin; int num=0,num1=0,line=0; cout<<"输入要统计的英文文本文件名:"; cin>>file; fin.open(file); if(!fin.is_open()) { cout<<"fail to open"<<endl; return 0; } string a; string s[1000]; int x,i; while(getline(fin,a)){ s[line]=a; line++; x=a.length(); for(i=0;i<x;i++){ if(a[i]==‘ ‘) num1++; } num1++; } for(i=0;i<line;i++) { x=s[i].length(); num+=x; } fin.close(); cout<<"字符数:"<<num<<endl; cout<<"单词数:"<<num1<<endl; cout<<"行数:"<<line<<endl; return 0; }
summary:这次的实验主要是对输出流和输入流的实际运用,以及对不同函数,如getline(),get(),rand()等。记得对输入(出)流open时的检验,需要特殊的要求时可以添加ios::(...),同时注意最后的close()。
原文:https://www.cnblogs.com/suifeng823/p/11013401.html