C++的学习 (此博客将一直补充更新下去,C++语法方面的内容不开新随笔了, *【语法学习】)

// #include <sstream>
// stringstream 是 C++ 提供的另一个字串型的串流(stream)物件,包含在上述头文件中
// 先谈它在字符串处理方面的应用之一,简化普通语法的复杂描述实现
// 现在我输入一个字符串
// s="what is your name? my name is yyy!";
// 现在任务是把上面的这个字符串里面的单词廍剥离出来,非字母的字符全部跳过

/*
sample output:
what
is
your
name
my
name
is
yyy   */


代码如下:
#include <iostream>
#include <sstream>
#include <string>

using namespace std;

int main()
{
    string s, buf;
    getline(cin, s); //读入一行字符串直到接收到
为止,和gets()函数一样
    for(int i=0; i<s.size(); i++)
    {
        if( !isalpha(s[i]) )
        {
            s[i]=' '; //非字母的字符全部转换成空格,方便下面的流操作
        }
    }
    stringstream ss;
    ss<<s;//将源字符串s读取到定义名字的ss流里

    while(ss>>buf)//将ss流读取出来,ss流遇到空格或者
会进行间隔分开,这也就是为什么上面
    {             //要把非字母的字符转化成空格了
        cout<<buf<<endl; //输出一个单词串
    }
    return 0;
}
原文地址:https://www.cnblogs.com/yspworld/p/4249517.html