美文网首页
istringstream()和getline()实现字符串分割

istringstream()和getline()实现字符串分割

作者: 吵吵人 | 来源:发表于2020-09-10 22:51 被阅读0次

查了一下相关文档:C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含<sstream>这个头文件。
istringstream类用于执行C++风格的串流的输入操作。
ostringstream类用于执行C风格的串流的输出操作。
strstream类同时可以支持C风格的串流的输入输出操作。
istringstream的构造函数原形如下:
istringstream::istringstream(string str);
它的作用是从string对象str中读取字符。

具体用一个例子来介绍

# include<iostream>
# include<string>
# include<vector>
# include<algorithm>
# include<sstream>
using namespace std;
int main(){
    string s;
    while(getline(cin,s)){
        vector<string> strings;
        istringstream ss(s);
        string tmp;
        while(getline(ss,tmp,',')){
            strings.push_back(tmp);     
        }
        sort(strings.begin(),strings.end());
        for(int i=0;i<strings.size()-1;i++){
            cout<<strings[i]<<',';
        }
        cout<<strings.back()<<endl;      
    }
    return 0;
}

其中getline(cin,s)表示读一行数据到字符串s中,此时这个字符串是一个整体
可以istringstream 的实例ss看成是cin,执行getline(ss,tmp,',')就和上面类似,只不过经过istringstream 之后,字符串整体被分割成一个一个的字符串,存到tmp中.

相关文章

  • istringstream()和getline()实现字符串分割

    查了一下相关文档:C++引入了ostringstream、istringstream、stringstream这三...

  • 《C++ Primer Plus》:复合类型

    本章内容概览: 数组 C风格字符串 string类字符串 getline()和get()读取字符串 结构体 共用体...

  • 297. Serialize and Deserialize B

    解法一:先序遍历注意其中的ostringstream 和 istringstream 的用法,字符串转int s...

  • Ansible 开发Filters插件之【split】

    需求 实现python的字符串分割 实现re的正则表达式分割 Filter 类 所有的filter类都是上诉构造 ...

  • Guava字符串拼接工具类

    Guava字符串拼接工具类 Joiner和Splitter 算是一个比较有意思的工具类了,可以实现字符串的分割和容...

  • Day_03 复合类型

    1.利用cin、cin.get()和cin.getline()输入字符串的区别iostream中的类cin提供了一...

  • awk内建函数

    内建函数 length() 获得字符串长度 split() 将字符串按分隔符分隔,并保存至数组 getline 从...

  • 3.3.3数组和C风格字符串

    get()函数和getline()函数 相同点 不同点 "cin.getline(school,50)" getl...

  • getline()和get()

    1.面向行的输入:getline() getline()函数读取整行,它使用通过回车键输入的换行服来确定输入结尾。...

  • 刷题基本功

    自己实现的字符串分割操作 功能:把s按照空格进行分割,返回一个vector集合。说明:0.重要的定义:start是...

网友评论

      本文标题:istringstream()和getline()实现字符串分割

      本文链接:https://www.haomeiwen.com/subject/gcpmektx.html