读书人

strcpy跟memcpy函数的实现及其区别

发布时间: 2013-10-28 11:21:45 作者: rapoo

strcpy和memcpy函数的实现及其区别
strcpy和memcpy的区别:#include "stdafx.h"#include <assert.h>#include <iostream>using namespace std;char *StrCpy(char *dest, const char *src){//注意dest应该要有足够的空间承载src assert(dest != NULL && src != NULL); char *pDest = dest; while ((*pDest++ = *src++) != '\0'); return dest; /*while ((*dest++ = *src++) != '\0'); return pDest;*/}//strcpy有返回值是为了实现链式操作,将目的地址返回,Strcpy函数可以作为另外一个函数的实参。void *MemCpy(void *dest, const void *src, size_t count){assert(dest != NULL && src != NULL);char *pDest = (char *)dest;char *pSrc = (char *)src;while (count--){ *pDest++ = *pSrc++;}*pDest = '\0';return dest;}int _tmain(int argc, _TCHAR* argv[]){ char *str = "TengHe";char dest1[20] = "abcdl;kjfa;sdkf";cout << StrCpy(dest1, str+2) << endl;char dest2[20]/*= "dklak;jkd"*/;cout << (char *)MemCpy(dest2, str+3, 3) << endl;system("pause");return 0;}

读书人网 >编程

热点推荐