string 之 strcmp函数

简介: Author: bakari  Date: 2012/8/9 继上篇。。。。。 下面是我写的代码与源码作的一些比较,均已严格测试通过,分别以“string 之”系列述之。 下面包括strcmp , stricmp , strncmp函数 1 //strcmp 2 int Mystrcm...

Author: bakari  Date: 2012/8/9

继上篇。。。。。

下面是我写的代码与源码作的一些比较,均已严格测试通过,分别以“string 之”系列述之。

下面包括strcmp , stricmp , strncmp函数

1 //strcmp
2 int Mystrcmp(const char *str1, const char *str2);
3 int Mystricmp(const char *str1, const char *str2);
4 int Mystrncmp(const char *str1, const char *str2, size_t nCount);
 1 /*******************************************************
 2  *  strcmp , stricmp and strncmp
 3  *  stricmp and strncmp need to improve!
 4  *  stricmp ignore case , but strcmp not!
 5  *******************************************************/
 6 int Mystrcmp(const char *str1, const char *str2){
 7     assert(NULL != str1 && NULL != str2);
 8     while(*str1 && *str2 && (*str1 == *str2)){
 9             str1 ++;
10             str2 ++;
11     }
12    
13    /* This is source code,Great ! */
14    /* int ret;
15     while(1){
16         if((ret = (*str1++ - *str2)) != 0 || !*str2 ++)
17             break;
18     }
19     return ret;
20     */
21     return (*str1 - *str2);
22 }
23 int Mystricmp(const char *str1, const char *str2){
24     assert(NULL != str1 && NULL != str2);
25     while(*str1 && *str2){
26         if((*str1 == *str2) || (*str1 + 32 == *str2) || (*str1 - 32 == *str2)){
27             str1++;
28             str2++;
29             continue;
30         }
31     }
32     return *str1 - *str2;
33 }
34 int Mystrncmp(const char *str1, const char *str2, size_t nCount){
35     assert(NULL != str1 && NULL != str2 && nCount <= \
36            ((strlen(str1) < strlen(str2))? strlen(str1): strlen(str2)));
37     while((--nCount) && (*str1 == *str2) ){
38             str1 ++;
39             str2 ++;
40     }
41     return *str1 - *str2;
42 }

有不同解法的欢迎交流!

目录
相关文章
|
6月前
|
Java 索引
String字符串常用函数以及示例 JAVA基础
String字符串常用函数以及示例 JAVA基础
|
6月前
|
编译器 容器
C++string类的介绍及常用函数用法总结
C++string类的介绍及常用函数用法总结
71 1
|
6月前
|
存储 缓存 测试技术
CMake String函数:如何巧妙地在cmake中操作字符串
CMake String函数:如何巧妙地在cmake中操作字符串
813 0
|
6月前
|
编译器 C++
【编码艺术:掌握String类函数接口的妙用指南】(三)
【编码艺术:掌握String类函数接口的妙用指南】
|
6月前
|
存储 Linux C语言
【编码艺术:掌握String类函数接口的妙用指南】(二)
【编码艺术:掌握String类函数接口的妙用指南】
|
3月前
|
SQL 索引
在 SQL Server 中使用 STRING_AGG 函数
【8月更文挑战第5天】
1050 2
在 SQL Server 中使用 STRING_AGG 函数
|
3月前
|
编译器 C++ 容器
【C++】String常见函数用法
【C++】String常见函数用法
|
3月前
|
存储 Serverless 数据处理
Python - len(string)函数
通过上述介绍和示例,我们可以清楚地看到,在Python中,`len()`函数是处理字符串以及其他可迭代对象长度的重要工具。它简单、易用,但在实际应用中却非常强大,无论是在基础编程还是在复杂的数据处理中,`len()`函数都扮演着不可或缺的角色。
67 10
|
3月前
|
存储 C++
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
【C/C++学习笔记】string 类型的输入操作符和 getline 函数分别如何处理空白字符
42 0
|
4月前
|
C++
C++ string中的函数和常用用法
C++ 中string中的函数和常用用法
39 4

热门文章

最新文章