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); //读入一行字符串直到接收到\n为止,和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流遇到空格或者\n会进行间隔分开,这也就是为什么上面

    {             //要把非字母的字符转化成空格了

        cout<<buf<<endl; //输出一个单词串

    }

    return 0;

}

 

你可能感兴趣的:(C++)