如何实现不用strcpy用函数实现strcpy复制字符串

本帖子已过去太久远了,不再提供回复功能。strcpy和memcpy都是标准C库函数,它们有下面的特点。
strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符'\0'。
已知strcpy函数的原型是:char* strcpy(char* dest, const char* src); memcpy提供了一般内存的复制。即memcpy对于需要复制的内容没有限制,因此用途更广。 void&*memcpy(&void&*dest,&const&void&*src,&size_t&count&); //默认是void *类型
char * strcpy(char * dest, const char * src) // 实现src到dest的复制
  if ((src == NULL) || (dest == NULL)) //判断参数src和dest的有效性
      return NULL;
  char *strdest =
//保存目标字符串的首地址
  while ((*strDest++ = *strSrc++)!='\0'); //把src字符串的内容复制到dest下
  return
void *memcpy(void *memTo, const void *memFrom, size_t size)
  if((memTo == NULL) || (memFrom == NULL)) //memTo和memFrom必须有效
return NULL;
  char *tempFrom = (char *)memF
//保存memFrom首地址
  char *tempTo = (char *)memTo;
//保存memTo首地址
  while(size -- & 0)
//循环size次,复制memFrom的值到memTo中
  *tempTo++ = *tempFrom++ ;
  return memTo;
strcpy和memcpy主要有以下3方面的区别。1、复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。2、复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束,所以容易溢出。memcpy则是根据其第3个参数决定复制的长度。3、用途不同。通常在复制字符串时用strcpy,而需要复制其他类型数据时则一般用memcpy
以上转载至牛人博客:
阅读(...) 评论()网站已改版,请使用新地址访问:
strcpy 设计一函数StringCopy实现字符串str1拷贝到str2中,(即 功能)要求用指针实 File Operate 文件操作 238万源代码下载-
&文件名称: strcpy
& & & & &&]
&&所属分类:
&&开发工具: Visual C++
&&文件大小: 1 KB
&&上传时间:
&&下载次数: 2
&&提 供 者:
&详细说明:设计一函数StringCopy实现字符串str1拷贝到str2中,(即实现strcpy功能)要求用指针实现,不能用计数器。-Design a function StringCopy realize str1 string copied to the str2, (i.e. realize strcpy function) require a pointer realize, cannot use the counter
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
&&strcpy.cpp
&输入关键字,在本站238万海量源码库中尽情搜索:

我要回帖

更多关于 strcpy函数实现 的文章

 

随机推荐