c++的c风格字符串函数的实现
Posted jz_cnblogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++的c风格字符串函数的实现相关的知识,希望对你有一定的参考价值。
要注意使用断言判断传入的字符串非空。
1 #include <cassert> 2 3 //字符串复制 4 char* StrCpy(char *dest, const char *src) 5 { 6 assert(dest != nullptr && src != nullptr); 7 char *temp = dest; 8 while ((*dest++ = *src++) != ‘\0‘); 9 return temp; 10 } 11 12 //求字符串长度 13 size_t StrLen(const char *str) 14 { 15 assert(str != nullptr); 16 size_t len = 0; 17 while (*str++ != ‘\0‘) 18 { 19 ++len; 20 } 21 return len; 22 } 23 24 //字符串比较 25 int StrCmp(const char *lhs, const char *rhs) 26 { 27 assert(lhs != nullptr && rhs != nullptr); 28 int ret = 0; 29 while (!(ret = *(const unsigned char *)lhs - *(const unsigned char *)rhs) && *rhs) 30 { 31 ++lhs; 32 ++rhs; 33 } 34 if (ret < 0) 35 { 36 return -1; 37 } 38 else if (ret == 0) 39 { 40 return 0; 41 } 42 else 43 { 44 return 1; 45 } 46 } 47 48 //字符串连接 49 char* StrCat(char *dest, const char *src) 50 { 51 assert(dest != nullptr && src != nullptr); 52 char *temp = dest; 53 while (*dest) 54 { 55 ++dest; 56 } 57 while ((*dest++ = *src++) != ‘\0‘); 58 return temp; 59 }
以上是关于c++的c风格字符串函数的实现的主要内容,如果未能解决你的问题,请参考以下文章
我的Android进阶之旅NDK开发之在C++代码中使用Android Log打印日志,打印出C++的函数耗时以及代码片段耗时详情