不用库函数,自己实现strcpy和memcpy函数

转载 2012年03月22日 18:49:32
不用库函数,自己实现strcpy和memcpy函数        
82人阅读评论(0)收藏举报


1.代码实现

char* strcpy(char* strDest, const char* strSrc)
{
ASSERT(strDest != NULL && strSrc != NULL);
char* strTmpD = strDest;
while ((*strTmpD++ = *strSrc++) != '0')
{
}
return strDest ;
}

void* memcpy(void* pDest, const void* pSrc, unsigned int size)
{
ASSERT(pDest != NULL && pSrc != NULL);
byte* pTmpD = (byte*)pDest;
byte* pTmpS = (byte*)pSrc;
while (size-- >0)
{
  *pTmpD++ = * pTmpS++;
}
return pDest;
}

2.strcpy和memcpy的区别

(1).strcpy只能用于字符串拷贝;而memcpy是内存拷贝,可以拷贝任何类型的数据。

(2).当二者都进行字符串拷贝时,strcpy遇到字符串结尾'/0'即完成;而memcpy只是内存的原样拷贝,不管遇到什么。

memcpy() -- 拷贝内存内容

相关函数: bcopy(), memccpy(), memmove(), strcpy(), strncpy()
表头文件: #include <string.h>
定义函数: void *memcpy(void *dest, const void *src, size_t n)
函数说明: memcpy()用来拷贝src所指的内存内容前n个字节到dest所指的内存地址上。与strcpy()不同的是,memcpy()会完整的复制n个字节,不会因为遇到字符串结束'/0'而结束
返回值:   返回指向dest的指针
附加说明: 指针src和dest所指的内存区域不可重叠

字符串---不使用库函数,编写函数strcpy

一、问题描述已知strcpy函数的原型是 char *strcpy(char *strDest, const char *strSrc); 其中strDest是目的字符串,strSrc是源字符串。...
  • will130
  • will130
  • 2015年11月04日 20:39
  • 1263

C语言库函数strcpy与memcpy函数比较

C语言中strcpy与memcpy函数是怎么实现的又有哪些区别呢?   我们先来看下字符串的存储,字符串一般是用字符数组的方式存储,问题来了,我们都知道字符串有一个结束符"\0",存储字符串的字符数组...
  • changyourmind
  • changyourmind
  • 2016年07月21日 14:54
  • 1096

常见的面试题如何不用库函数实现strcpy函数

#include #include;  char * strcpy(char * strDest,const char *strSrc) { assert((strDest!=NULL) && (s...
  • zzyoucan
  • zzyoucan
  • 2013年02月26日 18:11
  • 2677

不调用库函数,实现strcpy

转自:http://blog.csdn.net/zzxian/article/details/6364745 这是昨天淘宝一面的题目。       已经忘记当场写的函数是什么样子了,回来后想想写下...
  • u010182186
  • u010182186
  • 2016年03月23日 17:26
  • 1428

[C/C++笔面试]不用库函数自己实现strcpy和strncpy

C/C++笔试面试题 自己实现strcpy和strncpy
  • zxnsirius
  • zxnsirius
  • 2016年08月27日 13:43
  • 975

不调用库函数,实现strcpy函数;编程实现memcpy函数

已知strcpy函数的原型是:char * strcpy(char * strDest,const char * strSrc); 要求如下。(1)不调用库函数,实现strcpy函数;(2)解释为什么...
  • newnewman80
  • newnewman80
  • 2011年04月14日 16:49
  • 2871

不使用C/C++字符串库函数,如何自行编写strcpy( )函数

不使用C/C++字符串库函数,如何自行编写strcpy( )函数 题目:已知strcpy( )函数原型如下:char* strcpy(char* strDest, const char* s...
  • YF_Li123
  • YF_Li123
  • 2017年07月10日 17:07
  • 412

STRCPY,MEMSET,MEMCPY三者的区别

memset用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ 或‘/0;例:char a[100];memset(a, /0, sizeof(a)); memcpy用来做内存...
  • yuwei19840916
  • yuwei19840916
  • 2008年11月18日 14:40
  • 502

不用库函数,自己实现strcpy和memcpy函数

1.代码实现char* strcpy(char* strDest, const char* strSrc) {  ASSERT(strDest != NULL && strSrc != NULL)...
  • zc806
  • zc806
  • 2011年04月24日 00:44
  • 701

面试必会函数源代码 strcpy/memcpy/atoi/kmp/quicksort

一、写在前面        继上一次发表了一片关于参加秋招的学弟学妹们如何准备找工作的博客之后,反响很大,顾在此整理一下,以便大家复习。好多源自july的这篇博客,也有很多是我自己整理的。希望大家能够...
  • liuqiyao_01
  • liuqiyao_01
  • 2014年05月25日 17:34
  • 5542
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:不用库函数,自己实现strcpy和memcpy函数
举报原因:
原因补充:

(最多只允许输入30个字)