zoukankan      html  css  js  c++  java
  • 字符串的复制

    不用库函数,自己编写一个字符串复制函数。

     1  //Version 1
     2 1 char * mystrcpy(char * dest, const char * src)
     3  2 {
     4  3     char *d = dest;
     5  4 
     6  5     assert((dest != NULL) && (src != NULL));
     7  6     while(*src != '')
     8  7         *d++ = *src++;
     9  8     *d = '';                              //it is important.
    10  9     return dest;
    11 10 }
     1 //Version 2
     2 char * mystrcpy(char * dest, const char * src)
     3 {
     4     char *d = dest;
     5     int count;
     6 
     7     count = strlen(src) + 1;
     8     assert((dest != NULL) && (src != NULL));
     9     while(count--)
    10         *d++ = *src++;
    11     return dest;
    12 }

    但是千万注意,上述代码并不完整,只适用于以下图1和2的情况。

    而对于图3的情况使用上面的代码会产生覆盖的现象,可以采用从后往前复制的方法,完整的代码如下:

     1 char * mystrcpy(char * dest, const char * src)
     2 {
     3     char * d = dest;
     4     char * s = src;
     5     int count;
     6 
     7     assert((dest != NULL) && (src != NULL));
     8     count = strlen(src) + 1;
     9 
    10     if(dest < src || dest > src+count)
    11     {
    12         while(count--)
    13             *dest++ = *src++;
    14     }
    15     else
    16     {
    17         d = dest + count;
    18         s = src + count;
    19 
    20         while(count--)
    21             *d-- = *s--;
    22     }
    23     return d;
    24 }
  • 相关阅读:
    图片移动特效
    风云舞
    弹出页面
    javascript放大镜原版
    jquery UI入门
    AJAX demo——操作文本文件
    上一页 1 2 ...10 下一页 百度 GOOGLE 分页
    在后台调用JavaScript打开新页面
    Ext简介
    My97DatePicker
  • 原文地址:https://www.cnblogs.com/philospy/p/4141444.html
Copyright © 2011-2022 走看看