zoukankan      html  css  js  c++  java
  • memcpy和strlen函数的实现

    #include <stdio.h>
    #include <stdlib.h>			//malloc()函数
    typedef unsigned int size_t;
    
    size_t my_strlen(const char * str)
    {
    	const char *sc = NULL;
    	if(str == NULL)
    		return 0;
    	for(sc = str;*sc != '';sc++)
    	{
    		/*  do nothing */
    	}				
    	return sc - str;
    }
    
    void * my_memcpy(void *pDst,const void *pSrc,size_t len)
    {
    	if((pDst == NULL)&&(pSrc == NULL))	//判断指针是否为空
    		return NULL;
    	char *tmp = (char *)pDst;
    	char *s = (char *)pSrc;
    
    	while(len--)
    		*tmp++ = *s++;
    	return pDst;
    }
    
    int main()
    {
    	char *src = "hello world";
    	int count = my_strlen(src);
    	printf("count = %d
    ",count);
    	char *dst = (char *)malloc(count + 1);	//申请空间
    	
    	my_memcpy(dst,src,count);
    	*(dst+count) = '';
    	printf("%s
    ",dst);
        return 0;
    }


    执行结果:



  • 相关阅读:
    create-react-app 修改 webpack output.publicPath
    洛谷 P1282 多米诺骨牌 (01背包)
    UVa 1627
    UVa 1626
    UVa 11584
    UVa 11400
    UVa 116
    UVa 1347 Tour (dp)
    树形背包小结
    数据流图题目一
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3359927.html
Copyright © 2011-2022 走看看