C++ ifstreamostringstream istringstream 读取并输出文件中的string
Posted 匆忙拥挤repeat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ ifstreamostringstream istringstream 读取并输出文件中的string相关的知识,希望对你有一定的参考价值。
学习一波,记一下。
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
using namespace std;
struct Info
string name;
vector<string> phones;
;
void readFile()
string line, word;
vector<Info> infos;
ifstream ifs("/Users/stone/CLionProjects/cpp-proj/a02-io/test"); // 文件输入流
while (getline(ifs, line)) //读取行
Info info;
istringstream record(line); // 绑定line数据到 string 输入流
record >> info.name; // 输入一个string 到info.name
while (record >> word) //循环每次输入string 到 word
info.phones.push_back(word); //写入word到集合
infos.push_back(info);
//遍历 infos 输出
// for (auto v = infos.begin(); v != infos.end(); ++v)
// cout << v->name << " ";
// for (auto p = v->phones.begin(); p != v->phones.end(); ++p)
// cout << *p << " ";
//
// cout << endl;
//
//ostringstream 输出
for (const auto &entry : infos) //for each
ostringstream out;
out << entry.name;
for (const auto &num: entry.phones)
out << " " << num;
out << endl;
cout << out.str(); // 输出 out流中的 所有 string
以上是关于C++ ifstreamostringstream istringstream 读取并输出文件中的string的主要内容,如果未能解决你的问题,请参考以下文章
[C++]C++入门到入土篇 HelloWorld 解析 && C++入门