C++手动实现库函数

已知strcpy的函数原型:char *strcpy(char *strDest, const char *strSrc),其中strDest 是目的字符串,strSrc 是源字符串。不调用C++/C 的字符串库函数,请编写函数 strcpy。

复制代码
 1 #include <cassert>
 2 
 3 char* strcpy(char* strDest, const char* strSrc)
 4 {
 5     assert(strDest && strSrc);    // 2分
 6     char* cp = strDest;            // 2分
 7     while (*cp++ = *strSrc++)    // 2分
 8         ;
 9     return strDest;                // 2分
10 }
复制代码

 答:为了 实现链式表达式。 // 2分

例如 int length = strlen( strcpy( strDest, “hello world”) );

另外strlen函数如下:

复制代码
 1 int strlen(const char* str)
 2 {
 3     assert(str);
 4     int len = 0;
 5     while (*str++)
 6     {
 7         len++;
 8     }
 9     return len;
10 }
复制代码

 

strcat函数实现:

复制代码
1 char* strcat(char* strDest, const char* strSrc)
2 {
3     assert(strDest && strSrc);
4     char* pd = strDest;
5     while (*pd++) ;
6     while (*pd++ = *strSrc++) ;
7     return strDest;
8 }
posted @ 2013-05-28 17:06  韶纥  阅读(274)  评论(0编辑  收藏  举报