C语言:利用指针和函数调用编写字符串拷贝函数strcpy

原创 2016年05月30日 17:13:35
#include<stdio.h>
#include<assert.h>/*断言的头文件*/


char *my_strcpy(char *dest,const char *src)
/*传参,把src依次传给dest,指针数组,每一个都是地址*/
{
     char* ret = p;/*接收的为地址*/
     assert(src!=NULL);
     /*,使用指针一定要先用查找函数判断是否为空,防止不小心将空地址传递*/
     while( * dest++ = * src++)
     {
          ; 
     } 
     return p;/*返回的ret为字符串则用char,且为地址*/
}


int main()
{
     char arr1[]="Hello world!"; 
     char arr2[20];
 
     char *ret=my_strcpy(arr2,arr1);

     printf("%s",ret);/*打印出的为字符串*/
     return 0;
}

注意两点:

(1)要将dest首地址保存起来,最后再返回其地址!!!

     char* ret = p;/*接收的为地址*/
     assert(src!=NULL);
     /*,使用指针一定要先用查找函数判断是否为空,防止不小心将空地址传递*/
     while( * dest++ = * src++)
     {
          ; 
     } 
     return p;/*返回的ret为字符串则用char,且为地址*/

否则,若不保存地址,则dest一直在变化,最后变成了'\0',则不输出


(2)src原串不发生变化,则可用const修饰。防止其发生改变!

指针—字符串复制的方法

这里用了三种方法进行复制 1.地址法://指针练习题: //将字符串a复制到字符串b. 这里使用的是地址法 #include int main() { char a[]=...
  • u012411994
  • u012411994
  • 2014年05月11日 14:02
  • 1790

c语言 指针 字符串的复制

//用指针将字符串的复制 #include int main(int argc, const char * argv[]) { char str1[30]="hello"; cha...
  • u011206291
  • u011206291
  • 2013年09月22日 08:16
  • 726

函数指针的赋值与调用

问:先定义了个函数: int function(int a, int b) { .......... } main函数里面有个函数指针 问题1:那么下面两种对函数指针的赋值哪个是正确的,还...
  • zhangzhi123456789
  • zhangzhi123456789
  • 2015年10月19日 18:34
  • 6658

C语言实现字符串拷贝函数的几种方法

C语实现字符串拷贝函数的几种方法
  • gf426326
  • gf426326
  • 2017年08月18日 21:28
  • 541

char字符串复制

第一种情况: char* p="how are you ?"; char name[20]="ABCDEFGHIJKLMNOPQRS"; strcpy(name,p); //name改变为"...
  • ncabhd
  • ncabhd
  • 2017年06月07日 19:28
  • 987

C中字符串拷贝函数strcpy和内存拷贝函数memcpy的区别与实现

strcpy和memcpy都是标准C库函数,它们有下面的特点。 strcpy提供了字符串的复制。即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符'\0'。 已知...
  • vansbelove
  • vansbelove
  • 2016年11月03日 16:19
  • 4037

将字符串的一部分拷贝到另一个字符串

主要3中实现方式:strncpy()、string类、memcpy() 通过string实现更方便。 1、strcpy()    无法实现将字符串的一部分拷贝给另一个字符串。 2、strncpy(...
  • qing101hua
  • qing101hua
  • 2017年11月17日 18:21
  • 246

用C语言打造自己的字符串拷贝函数

上一节中我们主要讲到了字符串使用的一些常用的函数,那这里我们可以打造一个自己的字符串拷贝函数,类似于strcpy这样的函数, 原理就是使用指针一次便利待复制 的字符串的每个字符,然后拷贝到目标中去 ...
  • qq_29924041
  • qq_29924041
  • 2017年01月12日 23:23
  • 2007

字符串复制函数strcpy的实现算法

1,字符串复制,需要考虑三种情况: 目的字符串未被赋值,本身是个空串,源字符串存在。目的字符串长度m大于或等于源字符串长度n,此时复制时,源字符串代替目的字符串前n个字符,目的字符串后m-n个字...
  • yychenxie21
  • yychenxie21
  • 2015年09月05日 12:08
  • 2719

习题8-5 使用函数实现字符串部分复制

习题8-5 使用函数实现字符串部分复制   (20分) 本题要求编写函数,将输入字符串tt中从第mm个字符开始的全部字符复制到字符串ss中。 函数接口定义: void strmcpy...
  • u013243314
  • u013243314
  • 2017年06月20日 22:38
  • 6130
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C语言:利用指针和函数调用编写字符串拷贝函数strcpy
举报原因:
原因补充:

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