【C语言】strcpy函数的实现

strcpy函数的基本内容:

原型声明:extern char *strcpy(char* dest, const char *src);

头文件:#include <string.h> 和 #include <stdio.h>

功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间

说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串。

返回指向dest的指针

知道函数的内容了,接下来我们就可以简单实现这个函数:

#include<stdio.h>
#include<assert.h>

char * my_strcpy(char *str1,char const *str2)
{

	char *tmp=str1;
	assert(str1);
    assert(str2);
    while(*str2!='\0')
	{
		*str1++ = *str2++;
	}
	return tmp;
}

int main()
{
	char p[10]="abc";
	char *q="defg";
	printf("%s\n",my_strcpy(p,q));
	return 0;
}

运行结果如下所示:

时间: 2024-12-12 13:59:34

【C语言】strcpy函数的实现的相关文章

C语言--strcpy()函数

strcpy,即string copy(字符串复制)的缩写. strcpy是一种C语言的标准库函数,strcpy把含有''\0'结束符的字符串复制到另一个地址空间,返回值的类型为char*. C语言 strcpy() 函数用于对字符串进行复制(拷贝). 头文件:string.h 语法/原型: char* strcpy(char* strDestination, const char* strSource); 参数说明: strDestination:目的字符串. strSource:源字符串.

c语言常用函数strcmp函数和strcpy函数

(一)strcmp函数 strcmp函数是比较两个字符串的大小,返回比较的结果.一般形式是: i=strcmp(字符串,字符串); 其中,字符串1.字符串2均可为字符串常量或变量:i   是用于存放比较结果的整型变量.比较结果是这样规定的: ①字符串1小于字符串2,strcmp函数返回一个负值; ②字符串1等于字符串2,strcmp函数返回零; ③字符串1大于字符串2,strcmp函数返回一个正值;那么,字符中的大小是如何比较的呢?来看一个例子. 实际上,字符串的比较是比较字符串中各对字符的AS

c语言的strcpy函数

strcpy是用于复制字符串的函数 1 #include <stdio.h> 2 #include <string.h> 3 int main(void) 4 { 5 char s[20]="abcdefg",*p="ABC"; 6 int i=0; 7 strcpy(s+2,p); 8 printf("%s\n",s); 9 for(;i<7;i++) 10 printf("%c",s[i]);

C语言的函数返回值

一:背景 谈到C语言的函数返回值,可能会感觉很亲切,不就是一个函数返回值嘛,当初学C语言的时候早就学过了很easy嘛,我曾经也是这么想的.后来要上研究生了,研究生阶段搞得就是C,所以又重新开始学习C,学习C的过程中遇到了很多问题,在此博客中一一记录.实际过程中遇到的第一个问题自然就是函数返回值了.如果有人问你在一个函数中声明一个字符串数组,最后再return这个数组.这可以实现嘛?如果是问我我可能会毫不犹豫的说OK.那事实呢?由此本文诞生了...... 二:问题 先看几个实际的例子: #incl

C语言字符串函数大全

转载自http://www.360doc.com/content/08/0723/22/26860_1462024.shtml# 函数名: stpcpy 功能: 拷贝一个字符串到另一个 用法: char *stpcpy(char *destin, char *source); 程序例: #include<stdio.h> #include<string.h> int main(void) { char string[10]; char *str1 = "abcdefghi

通过编写字符复制函数strcpy函数学编程

首先我们先来开一下标准函数中的strcpy长什么样子 C语言标准库函数strcpy,把从src地址开始且含有'\0'结束符的字符串复制到以dest开始的地址空间. 原型声明:char *strcpy(char* dest, const char *src); 头文件:#include <string.h> 和 #include <stdio.h> 功能:把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间 说明:src和dest所指内存区域不可以重叠且des

c语言笔记————函数的作业

#include <stdio.h>#include <stdlib.h>#include <string.h>void maoPao( float num[]){ for (int i =0; i<10-1; i++) {        for (int k=0; k<10-1-i; k++) {            if (num[k]>num[k+1]) {                num[k]=num[k]+num[k+1];     

C/C++中strcpy函数的用法

C语言标准库函数 原型声明:extern char *strcpy(char *dest,char *src); 头文件:string.h 功能:把src所指由NULL结束的字符串复制到dest所指的数组中. 说明:src和dest所指内存区域不可以重叠且dest必须有足够的空间来容纳src的字符串. 返回指向dest的指针. 典型实现 /********************** * C语言标准库函数strcpy的一种典型的工业级的最简实现 * 返回值: * 返回目标串的地址. * 对于出现

strcpy() 函数注意的地方

// require user to enter name and handicap, if the name is exist, then return 1, or return 0.int setgolf(golf & g){ string temp; cout << "Name: "; getline(cin, temp); if (temp == "") // whether temp is empty. { std::cout <