c语言函数strcmp的功能是什么
c语言判断字符串相同能否用?
c语言判断字符串相同能否用?
C语言提供了几个标准库函数,可以比较两个字符串是否相同。以下是用strcmp()函数比较字符串的一个例子:
#include ltstdio. hgt
#include ltstring. hgt
void main (void)
void main(void)
{
char* str_1 #34abc#34 char * str_2 #34abc#34 char* str_3 #34ABC#34
if (strcmp(str_1, str_2) 0)
printf(#34str_1 is equal to str_2.
#34)
else
printf(#34str_1 is not equal to str_2.
#34)
if (strcmp(str_1, str_3) 0)
printf(#34str_1 is equal to str_3.
#34)
else
printf(#34str_1 is not equalto str_3.
#34);
}
上例的打印输出如下所示:
str_1 is equal to str_2.
str_1 is not equal to str_3.
strcmp()函数有两个参数,即要比较的两个字符串。strcmp()函数对两个字符串进行大小写敏感的(case-sensitiVe)和字典式的(lexicographic)比较,并返回下列值之一:
----------------------------------------------------
返 回 值 意 义
----------------------------------------------------
lt0 第一个字符串小于第二个字符串
0 两个字符串相等 ·
gt0 第一个字符串大于第二个字符串
----------------------------------------------------
在上例中,当比较str_1(即“abc”)和str_2(即“abc”)时,strcmp()函数的返回值为0。然而,当比较str_1(即#34abc#34)和str_3(即#34ABC#34)时,strcmp()函数返回一个大于0的值,因为按ASCII顺序字符串“ABC”小于“abc”。
strcmp()函数有许多变体,它们的基本功能是相同的,都是比较两个字符串,但其它地方稍有差别。下表列出了C语言提供的与strcmp()函数类似的一些函数:
-----------------------------------------------------------------
函 数 名 作 用
-----------------------------------------------------------------
strcmp() 对两个字符串进行大小写敏感的比较
strcmpi() 对两个字符串进行大小写不敏感的比较
stricmp() 同strcmpi()
strncmp() 对两个字符串的一部分进行大小写敏感的比较
strnicmp() 对两个字符串的一部分进行大小写不敏感的比较
-----------------------------------------------------------------
在前面的例子中,如果用strcmpi()函数代替strcmp()函数,则程序将认为字符串“ABC”等于“abc”。
c语言strcmp使用方法?
c语言中strcmp的用法的用法如下:
头文件:#include
strcmp() 用来比较字符串(区分大小写),其原型为:
int strcmp(const char *s1, const char *s2)
【参数】s1, s2 为需要比较的两个字符串。
字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0 则将差值返回。例如字符串#34Ac#34和#34ba#34比较则会返回字符#34A#34(65)和#39b#39(98)的差值(-33)。
【返回值】若参数s1 和s2 字符串相同则返回0。s1 若大于s2 则返回大于0 的值。s1 若小于s2 则返回小于0 的值。
注意:strcmp() 以二进制的方式进行比较,不会考虑多字节或宽字节字符;如果考虑到本地化的需求,请使用 strcoll() 函数。
希望对你有帮助。