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++语法小记---标准库

C++之父的C++元宇宙

[C++]C++入门到入土篇 HelloWorld 解析 && C++入门

怎么找C++函数需要的头文件?(C++头文件C++函数文档C++文档)

如何识别项目是托管 c++ 项目还是非托管 c++ 项目