c++ 实现strcpy(),strlen()

char* strcpy(char *strDest,const char *strSrc)
{
    char *result=strDest;

    assert((strDest!=NULL)&&(strSrc!=NULL));
    while((*strDest++=*strSrc++)!=‘\0‘);

    return result;
}

int strlen(const char *str)
{
    int count=0;

    assert(str!=NULL);
    while(*str++!=‘\0‘)
        count++;

    return count;
}
 
时间: 2024-10-08 23:00:48

c++ 实现strcpy(),strlen()的相关文章

笔试算法题(04):实现 string & memcpy & strcpy & strlen

出题:请实现给定String的类定义: 分析:注意检查标准类构造注意事项: 解题: 1 #include <stdio.h> 2 #include <string.h> 3 /** 4 * 检查是否需要构造函数 5 * 检查是否需要无参构造函数 6 * 检查是否需要成员变量(函数)私有 7 * 检查是否需要在构造函数预初始化成员变量 8 * 检查是否需要析构函数 9 * 检查是否需要虚拟析构函数 10 * 检查是否需要复制构造函数(参数为const) 11 * 检查是否需要赋值重载

strcpy,strlen,strcmp实现

1.strcpy的实现 char * my_strcpy(char * s1, char * s2) { assert(s1 != NULL&&s2 != NULL); char *res = s1; while ((*(res++) = *(s2++))!='\0'); return res; } 2.strlen的实现 int my_strlen(char * s) { assert(s != NULL); int num = 0; while (*(s++)) ++num; retu

strcpy,strlen, strcat, strcmp函数,strlen函数和sizeof的区别

//计算字符串实际长度        //strlen()函数:当遇到'\0'时,计算结束,'\0'不计入长度之内,如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,直到遇到'\0'停止//    char string[] = "I Love You!";//    unsigned long len = strlen(string);//    printf("len = %lu\n", len);  //11//    //    stri

strcat strcpy strlen

1 char * strcat(char * dest, const char * src) { 2 assert(dest != NULL && src != NULL); 3 char * p = dest; 4 while (*p) 5 p++; 6 while (*p++ = *src++); 7 return dest; 8 } 9 10 int strlen(const char * src) { 11 int count = 0; 12 while (*src++) 13 c

c语言实现完美strcpy,strlen,strcmp,strcat

相信不少人面试的时候,会遇到面试官让你写出strcmp, strlen, strcpy,strcat等函数,下面给出比较完美的实现,自行把握里面一些关键的点,例如参数的判断,const参数,指针操作等等. //strcpy函数: char *strcpy(char *strDest, const char *strSrc) { if (strDest == NULL || strSrc == NULL) return NULL; if (strDest == strSrc) return str

自定义方法实现strcpy,strlen, strcat, strcmp函数,了解及实现原理

unsigned long myStrlen(char string[]) {     unsigned long length = 0;          while (string[length] != '\0') {         length++;     }          return length; } void myStrcpy(char string1[], char string2[]) {     int i = 0;     while (string2[i] !=

C++字符类型总结区别wchar_t,char,WCHAR

转至:http://www.360doc.com/content/12/0807/01/9290626_228750141.shtml 1.区别wchar_t,char,WCHAR ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数.   UNICODE:wchar_t是Unicode字符的数据类型,它实际定义在里:   typedef unsigned short wchar_t;   另外,在头文件中有这样的定义:ty

2015-12-18 学习心得

今天学习了c语言的一些库函数用法. 比如:strcpy(),strlen(),strchr(),strcmp(),strcat(),strstr(). 下面是我写的一些代码和结果. 1.strlen #include<stdio.h> #include<string.h> int main() { char a[10] = "12345"; printf("%d\n", strlen(a)); system("pause"

区别wchar_t,char,WCHAR

1.区别wchar_t,char,WCHAR ANSI:即 char,可用字符串处理函数:strcat( ),strcpy( ), strlen( )等以str打头的函数. UNICODE:wchar_t是Unicode字符的数据类型,它实际定义在里: typedef unsigned short wchar_t; 另外,在头文件中有这样的定义:typedef wchar_t WCHAR; 所以WCHAR实际就是wchar_t wchar_t 可用字符串处理函数:wcscat(),wcscpy(