stringstream、tolower()、isalnum()的用法
一、c++ stringstream的用法
C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含<sstream>这个头文件。
1、可以用于分割被空格、制表符等符号分割的字符串
例如下面这个例子:
#include<iostream> #include<sstream> //istringstream 必须包含这个头文件 #include<string> using namespace std; int main(){ string str="i am a boy"; stringstream is(str); string s; while(is>>s) { cout<<s<<endl; } }
输出的结果为:
i
am
a
boy
str被以空格分割为四个字符串,这四个字符串可以用动态数组来储存。
#include<iostream> #include<sstream> //istringstream 必须包含这个头文件 #include<string> #include<vector> using namespace std; int main(){ vector<string>v; //创建一个存string类型的动态数组 string str="i am a boy"; stringstream is(str); while(is>>str) { v.push_back(str);//将字符串按空格分割并存入v中 } for(int i=0;i<v.size();i++) { cout<<v[i]<<endl; //v[0]存入i,v[1]存入am,v[1][0]是‘a’ } }
结果与上面的结果一样。
参考链接:istringstream、ostringstream、stringstream 类介绍 .
二、tolower()函数
tolower()是一种函数,功能是把字母字符转换成小写,非字母字符不做出处理。如果有相对应的小写字母,则该函数返回的小写字母,否则保持不变。
参考链接:C 库函数 – tolower() | 菜鸟教程 (runoob.com)
三、isalnum()函数
isalnum() 函数用来检测一个字符是否是字母或者十进制数字。是返回真,否则返回假。
参考链接:isalnum()_C语言isalnum()详解:判断一个字符是否是字母或数字 (biancheng.net)