不用库函数,自己实现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
  • 1160

将字符数组s2中全部字符复制到字符数组s1,不用strcpy(复制时‘\0’也要复制过去‘\0’后面的字符不用复制)

#include #include int main() { char s1[80]; char s2[80]; int i; printf("input s2:"); scanf("%s...
  • ZX_YHY
  • ZX_YHY
  • 2015年03月21日 19:32
  • 1348

不调用库函数,实现strcpy函数

      这是昨天淘宝一面的题目。      已经忘记当场写的函数是什么样子了,回来后想想写下了这样一段代码。char* strcpy(char *src, char *des){ if(src...
  • zzxian
  • zzxian
  • 2011年04月26日 16:54
  • 5590

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

C/C++笔试面试题 自己实现strcpy和strncpy

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

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

#include #include;  char * strcpy(char * strDest,const char *strSrc) { assert((strDest!=NULL) && (s...

几个重要库函数的实现-strcpy,strncpy,memcpy,memset

面试官很喜欢让求职者写一些常用库函数的实现,有很多是和字符串相关的,有一些是关于内存拷贝的。一般,常会让写的函数有以下几个: strcpy , strncpy, memcpy。 memse...

几个重要库函数的实现-strcpy,strncpy,memcpy,memset

面试官很喜欢让求职者写一些常用库函数的实现,有很多是和字符串相关的,有一些是关于内存拷贝的。一般,常会让写的函数有以下几个: strcpy , strncpy, memcpy。 memset一般不会让...

模拟实现C库函数strcpy,strcat,strstr,strchr,strcmp,memcpy,memmove

1、模拟实现strcpy char *my_strcpy( char *dest, const char *str) { assert(dest != NULL); assert(str != N...

几个重要库函数的实现-strcpy,strncpy,memcpy,memset

面试官很喜欢让求职者写一些常用库函数的实现,有很多是和字符串相关的,有一些是关于内存拷贝的。一般,常会让写的函数有以下几个: strcpy , strncpy, memcpy。 memse...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:不用库函数,自己实现strcpy和memcpy函数
举报原因:
原因补充:

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