C++标准库string类型

初始化定义方式:

string s1; //默认构造函数,s1是空字符串
string s2(s1); //s2初始化为s1
string s3("mengxm"); //s3初始化为一个字符串字面值
string s4(n,'m'); //s4初始化为字符'm'的n个重复

对于字符串字面值"mengxm"在字符串末尾加上一个'\0',而'm'只是单纯的一个字符,这是双引号和单引号的区别

对string类型的读写

cin>>s;
cout<<s<<endl;

决不可那c的输入输出函数来读取string类型,读取时会自动忽略所有空格直到第一个非空字符,读到第一个空字符为止。

和内置的>>符号相同的返回左操作数所以可以连续输入输出:cin>>s1>>s2;

getline()整段读取函数,有连个参数,输入流和string类型的对象,会读取回车之前的所有字符保存于string类型对象中,函数返回时会丢弃回车

string类型的基本操作:

s.empty(); //s是否为空,是返回true,否则返回false
s.size(); //返回s的字符串个数
s[n]; //返回s中位置为n的字符,位置从0开始计算

s1+s2 //连接成新字符串并返回

s1=s2 //字符串赋值操作

==,!=,>=,<=,<,>都和普通意义相同,只是都遵循字典序

关于s.size()返回值赋给string::size_type类型的变量,由于返回值是一个unsigned类型的普通的int型会溢出

string对象中的字符处理函数

isalnum(c) //c是字母或数字返回true
isalpha(c) //c是字母返回true
isdigit(c) //c是数字返回true
islower(c) //c是小写字母返回true
isupper(c) //c是大写字母返回true
tolower(c) //c是大写字母返回c的小写字母,否则返回c
toupper(c) //c是小写字母返回c的大写字母,否则返回c

作者: mengxm   发布时间: 2011-06-10