一:strng对象的比较
有几种常用的操作符:== 、!=、<=、>=
比较的依据:
1.若两个对象的长度不一样,并且较短的string对象每个字符都和较长的对象字符对应得上,则认为较短的对象小于较长的对象
2.若两个对象在某些对应位置上不一致,则结果为比较第一对相异字符的比较结果。
例子:
string str1 = "hello word";
string str2 = "hello";
string str3 = "hello marry";
则str1 > str2,str1 > str3
二:string对象的拼接:+
例子:
string s1 = "hello word";
string s2 = s1 + "!";
注意:使用+的左右两侧必须有一个为string 对象,否则编译器将无法处理
例如下面例子是非法的
string s1 = "hello world" + "!";
三:string对象中字符的处理:是判断string对象中某个字符c的,而不是判断整个字符集
isalpha(c):判断是否为字母
isdigit(c):判断是否为数字
islower(c):判断是否为小写
isupper(c):判断是否为大写
tolower(c):将字符装换为小写
注意:这些函数是在#include<cctype>头文件中,头文件cctype和ctype.h的区别:cctype中所有函数都在命名空间std中
四:遍历string对象的字符集
自己常用的一种方法是:
string s1 = "aaaa";
for(int i = 0;i < s1.size();i++)
但是这里有个问题,s1.size(),的返回对象是无符号类型,因此i需定义成无符号类型。
还可以用C++的一种新的方法:
for(auto c : s1)
cout<<c;
c在这里是一个变量,将s1中对应的值拷贝到c中,然后输出,
如果想修改s1中的值,还可以加上引用:
for(auto & c : s1)
c = tolower(c);