码迷,mamicode.com
首页 > 编程语言 > 详细

c++的c风格字符串函数的实现

时间:2016-03-11 22:03:04      阅读:155      评论:0      收藏:0      [点我收藏+]

标签:

  要注意使用断言判断传入的字符串非空。

 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风格字符串函数的实现

标签:

原文地址:http://www.cnblogs.com/jzincnblogs/p/5267331.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!