strcpy 和 memcpy两个函数的实现

来源:互联网 发布:js修改地址栏url 编辑:程序博客网 时间:2024/05/21 09:08
strcpy 和 memcpy两个函数的实现

strcpy 和 memcpy两个函数的自己实现

觉得很考验编程的基本功。

比如输入参数的错误检测,编程的风格等。
char*strcpy(char*strDest, const char*strSrc)
{
  assert((strDest != NULL) && (strSrc != NULL));
 
 char *address = strDest;
 while ((*strDest++ = *strSrc++) != '')
  continue;
 
 return address;
}
 


void *memcpy(void *pvTo, const void *pvFrom, size_t size)
{
 assert((pvTo != NULL) && (pvFrom != NULL)); // 使用断言
 byte *pbTo = (byte *) pvTo; // 防止改变pvTo 的地址
 byte *pbFrom = (byte *) pvFrom; // 防止改变pvFrom 的地址
 
 while(size -- > 0 )
  *pbTo ++ = *pbFrom ++ ;
 
 return pvTo;
 
}