您的位置:首页 > 编程语言 > C语言/C++

C++ primer 习题8-7 9 10

2014-03-05 14:24 916 查看
抄袭加模仿,再加点个人想法,努力增加熟练度。。。

#include<iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
void process(string&s){cout<<s<<endl;};
int main()
{
vector<string>files;
string filename,s;
cout<<"输入文件名:"<<endl;
while(cin>>filename)
files.push_back(filename);
ifstream fin;
vector<string>::const_iterator iter=files.begin();
while(iter!=files.end())
{
//	fin.open(*iter);
fin.open(iter->c_str());//转化成C字符串??
if(!fin)
{
cerr<<*iter<<"不能打开。。"<<endl;
fin.clear();
++iter;
continue;
}
string line;
while(getline(fin,line,'\n'))process(line);
fin.close();
fin.clear();
++iter;
}
return 0;
}

#include<iostream>
#include<fstream>
#include<string>
#include<vector>
using namespace std;
void process(string&s){cout<<s<<endl;};
int main()
{
vector<string>files;
ifstream fin;
fin.open("source.cpp");
if(!fin)cerr<<"文件未打开。。"<<endl;
string line;
//	while(getline(fin,line,'\n')) files.push_back(line);//每一行存储为一个单元
while(fin>>line)files.push_back(line);//每个单词存储为一个单元
vector<string>::iterator iter=files.begin();
while(iter!=files.end())
{
cout<<*iter<<endl;
++iter;
}
cout<<files[0]<<endl;
cout<<*files.begin()<<endl;
fin.close();
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: