• C++STL之set容器及stream类


    首先讲stream流类

    头文件#include <sstream>

    其功能是进行不同类型之间的转换,跟C语言 fscanf 和 fprintf 作用是同样的,可是比C语言的更简便更好用。

    使用方法非常easy

    #include <string>
    #include <sstream>
    #include <iostream> 
    
    int main()
    {
        std::stringstream stream;
        std::string result;
        int i = 1000;
        stream << i; //将int输入流
        stream >> result; //从stream中抽取前面插入的int值
        std::cout << result << std::endl; // print the string "1000"
    } 
    上面代码是将string型的转换为int型。

    !!注意:其在转换过程中有缓冲功能,比方有一个字符串“dada fffff”

    通过while循环一次缓冲进入字符串中

    比方:

            stringstream ss(s);
            while(ss>>tmp)//能够按空格一个一个输出
            val.insert(tmp);


    以下将set容器。是一个树。能够进行判重,把反复的过滤掉

    看这个题目:uva1085 Andy's First Diction

    题意就是给你一串英文。让你把里面的单词读出来,不能反复。

    用一个set容器,非常easy

    #include <cstdio>
    #include <algorithm>
    #include <iostream>
    #include <sstream>
    #include <ctype.h>
    #include <set>
    using namespace std;
    
    set<string> val;
    int main()
    {
        string s,tmp;
        while(cin>>s)
        {
            if(s=="break")
                break;
            for(int i=0;i<s.size();i++)
            {
                if(isalpha(s[i]))
                    s[i]=tolower(s[i]);
                else
                    s[i]=' ';
            }
            stringstream ss(s);
            while(ss>>tmp)//能够按空格一个一个输出
            val.insert(tmp);
        }
        for(set<string>::iterator it=val.begin();it!=val.end();it++)
            cout<<*it<<endl;
        return 0;
    }
    


  • 相关阅读:
    oracle timestamp的转换
    sql总结
    shell命令记录一些
    练手之 合并排序
    jquery的笔记
    jquery的几个小例子
    【转】JQUERY相关的几个网站
    hibernate spring sturts2配置
    oracle积累继续
    2018.8.21 2018暑假集训之方格取数
  • 原文地址:https://www.cnblogs.com/mengfanrong/p/5184202.html
Copyright © 2020-2023  润新知