头文件:#include <string.h>
stricmp() 用来比较字符串,不区分大小写;区分大小写比较字符串请查看strcmp()。stricmp()原型为:
int strcmp(char *s1, char *s2);
【参数说明】s1, s2 为需要比较的两个字符串。
字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。stricmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0 则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。
【返回值】若参数s1 和s2 字符串相同则返回0。s1 若大于s2 则返回大于0 的值。s1 若小于s2 则返回小于0 的值。
注意:stricmp()是Windows下特有的,linux下具有相同功能的函数是strcasecmp(),包含在头文件strings.h下。
另外一个不区分大小写比较字符串的函数是strcmpi(),strcmpi()是stricmp()的宏定义,实际未提供此函数。
【函数示例】比较两个字符串的大小。
#include<stdio.h>
#include<string.h>
int main(void)
{
/*定义两个字符串*/
char* s1 = "http://www.cdsy.xyz/computer/system/";
char* s2 = "http://www.cdsy.xyz/computer/programme/";
/*比较字符串(不分大小写)*/
int result = stricmp(s1,s2); // 也可以改成strcmpi()
if(result>0)
{
printf("Result: s1 > s2");
}
else if(result<0)
{
printf("Result: s1 < s2");
}
else if(result == 0)
{
printf("Result: s1 = s2");
}
getchar();/*等待用户输入个字符,然后退出*/
return 0;
}
运行结果:Result: s1 > s2