strcpy函数的实现

来源:互联网 发布:网络信息安全案例分析 编辑:程序博客网 时间:2024/06/04 19:07
<span style="font-size:18px;">流行的strcpy函数写法是: void strcpy(char *ch1,const char *ch2){    while(*ch2 != '\0') {           *ch1 ++ = *ch2 ++;  // 这样拆开来写后,易读性强一些~~    }}如果考虑ch1,ch2的安全性,提前要判断这两个指针是否为空,则可以这么写char *my_strcpy(char *dst,const char *src)  {      assert(dst != NULL);      assert(src != NULL);      char *ret = dst;      while((* dst++ = * src++) != '\0')           ;      return ret;  } 注:1,检查指针有效性;2,返回目的指针des;3,源字符串的末尾 '\0' 需要拷贝。************************************************************************************************************************************************************关于该函数,也可以返回实际拷贝的字符个数,如:int strcpy(char *ch1,const char *ch2){    int flag=0;while(*ch2 != '\0') {*ch1 ++ = *ch2 ++;  // 这样拆开来写后,易读性强一些~~flag++;}return flag;}************************************************************************************************************************************************************while(*ch2 != '\0') {*ch1 ++ = *ch2 ++;  // 这样拆开来写后,易读性强一些~~flag++;}循环里的内容,其实可以进一步拆分例如,while(*Src!='\0'){*Dest=*Src;Dest++;Src++;}</span>

0 0
原创粉丝点击