C语言stricmp()函数:比较字符串(不区分大小写)
头文件:#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()的宏定义,实际未提供此函数。
【函数示例】比较两个字符串的大小。
Result: s1 > s2
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://see.xidian.edu.cn/cpp/u/biaozhunku/"; char* s2 = "http://see.xidian.edu.cn/cpp/shujujiegou/"; /*比较字符串(不分大小写)*/ 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