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

    要求:编写一个函数,实现类似strcpy的字符串复制函数。原型定义为 char * mystrcpy(char *dest, char *src)。

    功能是把src所指向的字符串拷贝到dest所指的数组中,返回dest指针。(提示:src和dest所指向的区域有可能重叠)。

    简单版本号:

    char * mystrcpy(char *dest, char *src)
    {
    	char *p = dest;
    	while(*src != ''){
    		*dest++ = *src++;
    	}
    	return p;
    }
    存储空间分析:



    上述情况没有考虑内存区域重叠的问题,也没有对输入參数进行合法性检測。改动后的版本号为:

    char * mystrcpy(char *dest, char *src)
    {
    	char *d = dest;//输入參数备份
    	char *s = src;
    	
    	int count = 0;
    	
    	assert(dest);//指针合法性检測
    	assert(src);
    	
    	if(src == dest){
    		return src;
    	}
    	count = strlen(src) + 1;
    	if(count<=1){
    		return 0;
    	}
    	if(dest < src || dest >= (src + count)){
    		while(count--){
    			*d++ = *s++;
    		}
    	}
    	else{
    		d = dest + count;
    		s = src + count;
    		while(count--){
    			*d-- =*s--;
    		}
    	}
    	return dest;
    }


  • 相关阅读:
    day10 测试2
    算法题
    day10 自动化测试
    day09 测试
    进行试验,对比
    多层网络的SIR实现
    day08 商城项目
    day07 cookie session 模板
    day06 模型类
    纸上谈兵:图(graph)
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6789720.html
Copyright © 2011-2022 走看看