stringstream学习

网上能找到一位大牛的讲解,我又自己实践了一下:

string s = "123 124 563 999999 0000 222 3333";
int a;
//stringstream ins(s);//自动以空格为分界点转换拆分字符到int
stringstream ins;//自动以空格为分界点转换拆分字符到int
ins << s;
    while(ins>>a)
    {
        cout<
如注释所述,stringstream很好用,只要你的字符串能被分割好就可以借助stringstream分割到动态数组(vector)中,加入有明显分割标记(如“/”或者某一个指定的字符时那也是非常好用的)因为我们有个replace函数,有多种输入格式,我只用过replace(string.start(),string.end(),'5',' ');字符‘5’,替换为空格字符

stringstream outs ;
    outs << a;//自动识别输入类型,并且转换到相应的类型
    outs >> s2;
    s2 +="你好";
    cout<
int类型转换为string类型,完美转化
int b,c;//测试会不会转换消耗
    float fa = 1.013;//自动识别输入类型,并且转换到相应的类型
    stringstream f2i;
    f2i << fa;
    f2i>>a;
    f2i>>b;f2i>>c;
    cout<
超范围传值转化会 传递垃圾数据,所以最好要明确转化多少次,多次的话用while就很好

 stringstream f2s;
    f2s<>s2;
    s2 += "hello";
    f2s>>s3;
    cout<> a >> b >> c;
    cout<
浮点到string正常转化;

我只测试了这些内容,如果还有的地方没涉及学习到,欢迎大佬留言相告~~




你可能感兴趣的:(算法入门)