常用C语言函数 - strcmp()
2015-12-04 15:57
344 查看
头文件:#include <string.h>
strcmp() 用来比较字符串(区分大小写),其原型为: int strcmp(const char *s1, const char *s2);
参数 - s1, s2 为需要比较的两个字符串。
字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0 则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。
返回值 - 若参数s1 和s2 字符串相同则返回0。s1 若大于s2 则返回大于0 的值。s1 若小于s2 则返回小于0 的值。
注意:strcmp() 以二进制的方式进行比较,不会考虑多字节或宽字节字符;如果考虑到本地化的需求,请使用 strcoll()函数。
实例 - 对 4 组字符串进行比较。
#include <string.h>
main(){
char *a = "aBcDeF";
char *b = "AbCdEf";
char *c = "aacdef";
char *d = "aBcDeF";
printf("strcmp(a, b) : %d\n", strcmp(a, b));
printf("strcmp(a, c) : %d\n", strcmp(a, c));
printf("strcmp(a, d) : %d\n", strcmp(a, d));
}
输出结果:
strcmp(a, b) : 32
strcmp(a, c) :-31
strcmp(a, d) : 0
/******************************************************************************/
头文件:#include <string.h>
strcoll() 函数根据环境变量LC_COLLATE来比较字符串,其原型为: int strcoll( const char * str1, const char * str2 );
参数说明 - str1、str2 是要进行比较的两个字符串。
函数说明:strcoll() 会依环境变量 LC_COLLATE 所指定的文字排列次序来比较 s1 和 s2 字符串。
默认情况下,LC_COLLATE 为"POSIX"或"C",strcoll() 和 strcmp() 一样根据ASCII比较字符串大小。
对于设置了 LC_COLLATE 语言环境的情况下,则根据 LC_COLLATE 设置的语言排序方式进行比较。例如,汉字会根据拼音进行比较。
返回值 - 若字符串 str1 和 str2 相同则返回0。若 str1 大于 str2 则返回大于 0 的值,否则返回小于 0 的值。
strcmp() 用来比较字符串(区分大小写),其原型为: int strcmp(const char *s1, const char *s2);
参数 - s1, s2 为需要比较的两个字符串。
字符串大小的比较是以ASCII 码表上的顺序来决定,此顺序亦为字符的值。strcmp()首先将s1 第一个字符值减去s2 第一个字符值,若差值为0 则再继续比较下个字符,若差值不为0 则将差值返回。例如字符串"Ac"和"ba"比较则会返回字符"A"(65)和'b'(98)的差值(-33)。
返回值 - 若参数s1 和s2 字符串相同则返回0。s1 若大于s2 则返回大于0 的值。s1 若小于s2 则返回小于0 的值。
注意:strcmp() 以二进制的方式进行比较,不会考虑多字节或宽字节字符;如果考虑到本地化的需求,请使用 strcoll()函数。
实例 - 对 4 组字符串进行比较。
#include <string.h>
main(){
char *a = "aBcDeF";
char *b = "AbCdEf";
char *c = "aacdef";
char *d = "aBcDeF";
printf("strcmp(a, b) : %d\n", strcmp(a, b));
printf("strcmp(a, c) : %d\n", strcmp(a, c));
printf("strcmp(a, d) : %d\n", strcmp(a, d));
}
输出结果:
strcmp(a, b) : 32
strcmp(a, c) :-31
strcmp(a, d) : 0
/******************************************************************************/
头文件:#include <string.h>
strcoll() 函数根据环境变量LC_COLLATE来比较字符串,其原型为: int strcoll( const char * str1, const char * str2 );
参数说明 - str1、str2 是要进行比较的两个字符串。
函数说明:strcoll() 会依环境变量 LC_COLLATE 所指定的文字排列次序来比较 s1 和 s2 字符串。
默认情况下,LC_COLLATE 为"POSIX"或"C",strcoll() 和 strcmp() 一样根据ASCII比较字符串大小。
对于设置了 LC_COLLATE 语言环境的情况下,则根据 LC_COLLATE 设置的语言排序方式进行比较。例如,汉字会根据拼音进行比较。
返回值 - 若字符串 str1 和 str2 相同则返回0。若 str1 大于 str2 则返回大于 0 的值,否则返回小于 0 的值。
相关文章推荐
- C语言的A*算法
- 最常用的两种C++序列化方案的使用心得(protobuf和boost serialization)
- C++的explicit
- C/C++编码规范
- C/C++编码规范
- C++11 右值引用
- (六十二)第四章总结——《C++ Primer Plus 第6版 中文版》
- 深入理解Deep C Second
- C++ 11继承控制关键字:override(虚函数重载)和final(阻止继承、虚函数重载)
- C++的几个基本概念
- C语言链表实战总结
- C语言—基本概念
- C语言指针详解
- 预处理详解
- C语言内存
- 揭开struct和typedef struct的真面目
- c++获取字符串时间
- 1.iOS开发系列--C语言之基础知识
- 深入理解C First
- N皇后——回溯法、遗传算法、CSP最小冲突法(提供伪代码和C++源代码)