C语言实现strcpy

strcpy.h:

 1 #ifndef STRCPY_H
 2 #define STRCPY_H
 3
 4 #include <stdio.h>
 5
 6 char *cat_strcpy(char *dst, const char *src) {
 7     if (NULL == src || NULL == src)
 8         return NULL;
 9
10     char *s = (char *)src, *d = dst;
11
12     while ((*d++ = *s++) != ‘\0‘) {
13         // do nothing
14     }
15     *d = ‘\0‘;
16
17     return dst;
18 }
19
20 #endif

main:

 1
 2 #include "strcpy.h"
 3
 4
 5 void test_strcpy();
 6
 7 int main() {
 8     test_strcpy();
 9
10     return 0;
11 }
12
13
14 void test_strcpy() {
15     char *src = "test_strcpy";
16     char dest[20] = { 0 };
17     cat_strcpy(dest, src);
18
19     printf("%s\n", dest);
20 }

strcpy(str1,str2)函数能够将str2中的内容复制到str1中,为什么还需要函数返回值?应该是方便实现链式表达式,比如:

int length = strlen(strcpy(str1,str2));
时间: 2024-12-13 03:02:34

C语言实现strcpy的相关文章

【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的指针. 知道函数的内容了,接下来我们就可以简单实现这个函数:

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语言字符串操作函数 - strcpy、strcmp、strcat、反转、回文

转自:C语言字符串操作函数 - strcpy.strcmp.strcat.反转.回文 作者:jcsu C语言字符串操作函数 1. 字符串反转 - strRev2. 字符串复制 - strcpy3. 字符串转化为整数 - atoi4. 字符串求长 - strlen5. 字符串连接 - strcat6. 字符串比较 - strcmp7. 计算字符串中的元音字符个数8. 判断一个字符串是否是回文1. 写一个函数实现字符串反转 版本1 - while版 void strRev(char *s){    

strcpy的用法,c语言实现,及注意点

char * strcpy ( char * destination, const char * source ); C语言标准库函数strcpy,把从src地址开始且含有NULL结束符的字符串复制到以dest开始的地址空间. 1 strcpy只能复制字符串. 2 strcpy不需要指定长度,它遇到被复制字符的串结束符"\0"才结束. 3 strcpy不仅复制字符串内容,还会复制字符串的结束符. //C语言最简单实现 char *_strcpy(char *des, const cha

C语言--strcpy()函数

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

c语言:两种方法实现字符串拷贝strcpy

实现字符串拷贝strcpy 方法一: // 字符串拷贝函数的实现 #include<stdio.h> #include<assert.h> void my_strcpy(char *dest,  char *src)//src表示source源,dest目标 { assert(dest!=NULL); assert(src); char *ret = dest; while (*dest++ = *src++) { ; } return dest; } int main() { c

C语言实现strcmp()和strcpy()函数

#include <stdio.h> #include <assert.h> char *strcpy(char *strDest, const char *strScr) { char *address = strDest; assert((strDest != NULL) && (strScr != NULL)); while(*strScr) { *strDest++ = *strScr++; } *strDest = '\0'; return address

【面试题】C语言:模拟实现strncpy,尝试比较strncpy与strcpy区别。

比较strncpy与strcpy区别: 两者均为字符串拷贝函数,用于拷贝字符串.但strcpy比较时找字符串结束标志'\0',一旦找到 '\0',比较结束.而后者我们可以根据实际情况完成指定长度n的字符串比拷贝,因此函数strcpy里面多了一个字母n,即strncpy.由此,从此处看strncpy比strcpy功能强大一点. 关于strcpy可以查看我的博客链接:http://10740184.blog.51cto.com/10730184/1714516 strncpy代码如下: #defin

C语言中模拟实现strcpy,strstr,strcat函数

在C中,要模拟实现这几个库函数,是对指针的传参与函数的调用的考察,代码如下,仅供参考 strcpy函数: #include <assert.h> char* my_strcpy(char* dest, const char* src) { assert(dest);//断言指针的有效性 assert(src); char*pa = dest; while (*dest++ = *src++) ; return pa; } strstr函数: int my_strstr(const char*s