string流

使用 istreamstring 与文本行绑定之后读取元素。

struct PersonInfo
{
    string name;
    vector<string> phones;
};

int main(int argc, char const *argv[])
{
    string line, word;
    vector<PersonInfo> people;
    istringstream record;
    while (getline(cin, line))
    {
        PersonInfo info;

record.clear();                                      // 在将line拷贝到record中之前,应调用clear()函数来使流复位。保证下一次循环时,流record的正常使用。

record.str(line);

//    istringstream record(line)           如果在循环内部,则不需要复位,因为每次循环都会zion个销毁和重新创建istringstream流对象 record!
        record >> info.name;
        while (record >> word)
            info.phones.push_back(word);
        people.push_back(info);
    }
    return 0;
}

时间: 2024-10-28 05:24:18

string流的相关文章

C++读写TXT文件中的string或者int型数据以及string流的用法

对文件的读写操作是我们在做项目时经常用到的,在网上看了很多博客,结合自身的项目经验总结了一下,因此写了这篇博客,有些地方可能直接从别的博客中复制过来,但是都会注明出处. 一.文件的输入输出 fstream提供了三个类,用来实现c++对文件的操作.(文件的创建.读.写). ifstream -- 从已有的文件读入 ofstream -- 向文件写内容 fstream - 打开文件供读写 文件打开模式: ios::in             只读 ios::out            只写 io

string流;

string流定义在头文件<sstream>中: 可以像标准输入输出流一样,自动判别数据类型输出,遇到空格停止: 定义: stringstream ss:   //定义了一个string流,可以输入也可以输出: ss<<"carea 89 M 65.3";       //初始化在流里面的数据, string name; int age; char sex; float weight; ss>>name>>age>>sex&g

C++ code:string stream(string流)

如果有一个文件aaa.txt,有若干行,不知道每行中含有几个整数,要编程输出每行的整数之和,该如何实现? 由于cin>>不能辨别空格与回车的差异,因此只能用getline的方式逐行读入数据到string变量中,但在string变量中分离若干个整数还是稍显吃力.一个好的方法是用string流: 1 #include<iostream> 2 #include<sstream> 3 #include<fstream> 4 using namespace std;

IO相关3(string流)

sstream 头文件定义了三个类型来支持内存 IO,这些类型可以向 string 写入数据,从 string 读取数据,就像 string 是一个 IO 流一样. istringstream 从 string 读取数据,ostringstream 向 string 写入数据,stringstream 既可以从 string 读取数据也可以向 string 写入数据.类似于 fstream,sstream 中定义的类型也都是继承自 iostream 中的类型.除了继承来的操作,sstream 中

C++ 利用流来进行string和其他类的转换

通过这种方法可以实现任意转换,需要头文件 #include<string> #include<sstream> 期中sstream提供了我们的主角string流,下面给出int,double转换string和string转换int的代码: string Othertostring(double a) { ostringstream oss; oss << a; return oss.str(); } string Othertostring(int a) { ostri

Java8-使用流(1)

在之前,你已经看到了流让你从外部迭代转向内部迭代.这样,你就用不着写下面这样的代码来显示地管理数据集合的迭代(外部迭代)了: 1 List<Dish> vegetarianDishes = new ArrayList<>(); 2 for (Dish d : menu) { 3 if (d.isVegetarion()) { 4 vegetarianDishes.add(d); 5 } 6 } 你可以使用支持filter和collect操作的Stream API(内部迭代)管理对集

Cpp读写文件、CString转String、String转CString

场景 C++读取文件 技术点 读取文件 fstream提供了三个类,用来实现c++对文件的操作.(文件的创建.读.写). ifstream -- 从已有的文件读入 ofstream -- 向文件写内容 fstream - 打开文件供读写 文件打开模式: ios::in 只读 ios::out 只写 ios::app 从文件末尾开始写,防止丢失文件中原来就有的内容 ios::binary 二进制模式 ios::nocreate 打开一个文件时,如果文件不存在,不创建文件 ios::noreplac

【C++】C++中的流

目录结构: contents structure [-] 1.IO类 IO对象无拷贝状态 条件状态 文件流 文件模式 string流 1.IO类 除了istream和ostream之外,标准库还定义了其它的一些类型.如下表: 头文件 类型 iostream istream,wistream 从流读取数据 ostream,wostream 向流写入数据 iostream,wiostream 读写流 fstream ifstream,wifstream 从文件读取数据 ofstream,wofstr

流式计算(一)-Java8Stream

大约各位看官君多少也听说了Storm/Spark/Flink,这些都是大数据流式处理框架.如果一条手机组装流水线上不同的人做不同的事,有的装电池,有的装屏幕,直到最后完成,这就是典型的流式处理.如果手机组装是先全部装完电池,再交给装屏幕的组,直到完成,这就是旧式的集合式处理.今天,就来先说说JDK8中的流,虽然不是很个特新鲜的话题,但是一个很好的开始,因为——思想往往比细节重要! 准备: Idea2019.03/Gradle5.6.2/JDK11.0.4/Lambda 难度:新手--战士--老兵