对于比较字符,可以直接使用==比较运算符,例如:charc1=“a”,c2=“b”if(c1==c2)printf(%c与%c.”,c1,c2)elseprintf(%c与%c”,c1,c2)如果是字符串,则需要使用字符串函数strcmpchars1[]=“abc”,s2[]=“xyz”if(strcmp(s1,s2)==0)printf(%s与%s相同。“,s1,s2)也可以忽略要比较的大小写,使用函数stricmpmiddlei的意思是忽略区分大小写,还可以指定长度比较,例如:chars1[]=“abc”,s2[]=“abcdefg”if(strncmp(s1,s2,3)==0)printf(“前3个字符相同”)如果比较不是从开始位置开始,例如:chars1[]=“abc”,s2[]=“abcdefg”如果(strncmp(s1,s2,3)==0)printf(“前3个字符相同”)s1[]=“abc”,s2[]=“xyzabc”如果(strncmp(s1,&s2[3],3)==0)要比较第三个字符开头的s1和s2的内容
可以使用以下方法。
boostoperator==(conststring&s1,conststring&s2)const//比较两个字符串是否相等
运算符“>”、“<”、“>=”、“<=”、“!=“为字符串比较重载;
intcompare(conststring&)const//比较当前字符串和s的大小
intcompare(intpos,intn,conststring&)const//比较从pos开始的当前字符串比较由从pos开始的n个字符和从pos开始的n个字符组成的当前字符串的大小s中的pos2
intcompare(intpos,intn,conststring&,intpos2,intn2)const
intcompare(constchar*s)const
intcompare(intpos,intn,constchar*s)const
intcompare(intpos,intn,constchar*s)const]tchar*s,inpos2)const
compare函数在>时返回1,在<时返回1,在<时返回0=