一、比较运算符
String 类的常见运算符包括 >、<、==、>=、<=、!=。其意义分别为”大于”、”小于”、”等于”、”大于等于”、”小于等于”、”不等于”。比较大小以ASCII码表对应的值为准。
比较运算符使用起来非常方便,此处不再介绍其函数原型,大家直接使用即可。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <iostream> #include <string> using namespace std; int main(){ string S1 = "abc"; string S2 = "ABC"; string S3 = "DEF"; string S4 = "DEFG"; string S5 ="DEF"; if(S1>S2) cout<<S1<<'>'<<S2<<" is true"<<endl; if(S3>S2) cout<<S3<<'>'<<S2<<" is true"<<endl; if(S4>S3) cout<<S4<<'>'<<S3<<" is true"<<endl; if(S5==S3)cout<<S3<<'='<<S5<<" is true"<<endl; if(S1!=S5)cout<<S1<<"!="<<S5<<" is true"<<endl; return 0; } |
二、compare( )函数
compare函:数若参与比较的两个串值相同,则函数返回 0;若字符串 S 按字典顺序要先于 S2,则返回负值;反之,则返回正值。具体值是二者在排序顺序中的第一个不相同字符的相差的整数。举例说明如何使用 string 类的 compare() 函数。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <iostream> #include <string> using namespace std; int main (){ int a,b,c,d,e,f; string A="aBcdef"; string B="AbcdEf"; string C="123456"; string D="123dfg"; string E="123"; a=A.compare(B); //完整的A和B的比较,如果不相等,返回两个字符串第一个字母的差值 b=A.compare(1,5,B,0,6); //"Bcdef"和"AbcdEf"比较,返回两个字符串不同的第一个字母的差值 c=A.compare(1,5,B,4,2); //"Bcdef"和"Ef"比较,比较B和E d=C.compare(0,4,D,0,4);//1234与123d比较,前三个字符相同,比较4和d e=C.compare(0,3,D,0,3); //比较123和123,相等返回0 f=D.compare(E); //比较123dfg和123,返回1 cout << " a = " << a << ", b = " << b <<", c = " << c << ", d = " << d << ", e="<<e<<", f="<<f<<endl; return 0; } |