
6.8.4 字符串比较函数strcmp
对于两个字符串,其比较是有意义的,但是字符数组不能直接进行比较,因此在C++标准库中提供了对字符串进行比较的函数,函数格式如下:
strcmp(字符数组名1,字符数组名2)
函数按照ASCII码顺序比较两个数组中的字符串,并由函数返回值返回比较结果:
字符串1=字符串2,返回值=0。
字符串2>字符串2,返回值>0。
字符串1if(strcmp(str1,str2)==0)//判断
两个字符串是否相同
而不能这么写:
if(strcmp(str1,str2))//错误的写
法,结果跟希望正好相反
下例需要用户输入两个字符串,然后对它们进行比较,程序如示例代码6.8所示。
示例代码6.8
#includeusingnamespacestd; //使用名称空间std intmain(intargc,char*argv[]) //主函数 { coutcharstr1[128];//字符串变量 charstr2[128]; cin>>str1>>str2;//输入字符串 intres=strcmp(str1,str2);//比较 coutcoutif(res>0)cout"; if(rescoutsystem("PAUSE"); //等待用户反应 returnEXIT_SUCCESS; //主函数返回 }
建立一个控制台工程,并将上述代码复制到源文件中,编译并运行,其结果如图6.14所示。
[TR]
[TD][I]498)this.width=498;' onmousewheel = 'javascript:return big(this)' height=98 alt="" src="http://pic.aIhUaU.com/201602/15/160659423.jpg" width=303 border=0>[/TD][/TR]
[TR]
[TD]图6.14 使用strcmp函数示例结果[/TD][/TR]在C++的标准库中提供了一个string类。使用这个类,可以直接进行赋值、比较、计算长度和连接等操作。