0810189

练习8.10:编与程序,将来自一个文件中的行保存在一个vector中。然后使用一个istringstream从vector读取数据元素,每次读取一个单词。

【出题思路】

本题继续练习字符串流的输入。

【解答】

#include<iostream>
#include<fstream>
#include<sstream>
#include<string>
#include<vector>
using namespace std;
int main()
{
    ifstream in ("data");
    if(!in) {
        cerr << "无法打开输入文件"<< endl;
        return -1;
    }
    string line;
    vector<string> words;
    while(getline(in,line)){
        words.push_back(line);
    }
    in.close ();
    //打开文件
    //从文件中读取一行
    //添加到 vector中
    //输入完毕,关闭文件
    
    vector<string>::const_iterator it = words.begin () ; // 迭代器
    while(it != words.end() ) {                         // 遍历 vector
        istringstream line_str(*it);
        string word;
        while(line_str >> word) // 通过 istringstream 从 vector 中读取数据
            cout << word << "";
        cout << endl;
        ++it;
    }
    cin.get();
    return 0;
}

本页共45段,1760个字符,2041 Byte(字节)