• stringstream的用法


    stringstream的基本用法

    stringstream是字符串流。它将流与存储在内存中的string对象绑定起来。
    在多种数据类型之间实现自动格式化。

    1.stringstream对象的使用

    #include<sstream>
    #include<iostream>
    using namespace std;
    int main()
    {
    string line,word;
    while(getline(cin,line))
    {
    stringstream stream(line);
    cout<<stream.str()<<endl;
    while(stream>>word){cout<<word<<endl;}
    }
    return 0;
    }

    输入:shanghai no1 school 1989
    输出:shanghi no1 school 1989
       shanghai
        no1
        school
        1989

    2.stringstream提供的转换和格式化
    程序:

    #include<sstream>
    #include<iostream>
    using namespace std;
    int main()
    {
    int val1 = 512,val2 =1024;
    stringstream ss;
    ss<<"val1: "<<val1<<endl //“val1: "此处有空格,字符串流是通过空格判断一个字符串的结束
         <<"val2: "<<val2<<endl;
    cout<<ss.str();

    string dump;
    int a,b;
    ss>>dump>>a
         >>dump>>b;
    cout<<a<<" "<<b<<endl;
    return 0;
    }

    输出为:val1: 512
        val2: 1024
        512 1024
    第一处黑体字部分:将int类型读入ss,变为string类型
    第二处黑体字部分:提取512,1024保存为int类型。当然,如果a,b声明为string类型,那么这两个字面值常量相应保存为string类型

    3.其他注意
    stringstream不会主动释放内存(或许是为了提高效率),但如果要在程序中用同一个流,反复读写大量的数据,将会造成大量的内存消 耗,因些这时候,需要适时地清除一下缓冲 (用 stream.str("") )

    #include <cstdlib>
    #include<iostream>
    #include<sstream>
    using namespace std;
    int main()
    {
    stringstream ss;
    string s;
    ss<<"shanghai no1 school";
    ss>>s;
    cout<<"size of stream = "<<ss.str().length()<<endl;
    cout<<"s: "<<s<<endl;
    ss.str("");
    cout<<"size of stream = "<<ss.str().length()<<endl;
    }

    输出:
    size of stream = 19
    s: shanghai
    size of stream = 0

  • 相关阅读:
    python重载四则运算符及输出格式设置
    hdu 1069 Monkey and Banana
    python特殊函数 __len__(self):
    selective_search_rcnn.m中代码
    用list去初始化numpy的array数组 numpy的array和python中自带的list之间相互转化
    把字符串转化为整数
    这就是那个feature map256 256向量
    对faster rcnn代码讲解的很好的一个
    input_shape { dim: 1 dim: 3 dim: 224 dim: 224 }
    faster rcnn的改进方向
  • 原文地址:https://www.cnblogs.com/Staceyacm/p/10782137.html
Copyright © 2020-2023  润新知