C 库函数 - strncmp()
描述
strncmp() 是一个标准库函数,用于比较两个字符串的前 n 个字符是否相等。
strncmp() 函数通常用于比较两个字符串,以确定它们是否相等或哪个字符串在字典顺序上更小。
格式
下面是 strncmp() 函数的格式。
int strncmp(const char *str1, const char *str2, size_t n) 或 strncmp(str1,str2,n)
参数
-
str1 -- 要进行比较的第一个字符串。
-
str2 -- 要进行比较的第二个字符串。
-
n -- 要比较的最大字符数。
返回值
该函数返回值如下:
-
如果str1 小于 str2,则返回值 < 0。
-
如果 str1 大于 str2,则返回值 > 0。
-
如果 str1 等于 str2,则返回值 = 0。
实例
下面的实例演示了 strncmp() 函数的用法。
1. #include <stdio.h> 2. #include <string.h> 3. 4. int main () 5. { 6. char str1[15]; 7. char str2[15]; 8. int ret; 9. 10. 11. strcpy(str1, "abcdef"); 12. strcpy(str2, "ABCDEF"); 13. 14. ret = strncmp(str1, str2, 4); 15. 16. if(ret < 0) 17. { 18. printf("str1 小于 str2"); 19. } 20. else if(ret > 0) 21. { 22. printf("str2 小于 str1"); 23. } 24. else 25. { 26. printf("str1 等于 str2"); 27. } 28. 29. return(0); 30. }
产生以下结果:
str2 小于 str1
现在咱们来分析一下:
根据11、12、14行,知道比较的是abcd与ABCD
在ASCII码中,abcd>ABCD
即:str1>str2
所以返回值>0,ret>0
则输出str2 小于 str1