如何自己编写代码模拟实现类似strcpy的字符串复制功能?
- 内容介绍
- 文章标签
- 相关推荐
本文共计363个文字,预计阅读时间需要2分钟。
一、基础知识+定义:`strcpy(char *destination, const char *source)` 作用:即将第二个字符串的内容复制到目标空间(第一个字符串),若第一个字符串中有内容,则会被第二个字符串覆盖。
一、基本知识
定义:char*strcpy(char*destination,constchar*source)
strcpy作用:
即string copy将第二个字符串的内容复制到目标空间(第一个字符串),若第一个字符串中有内容,则会被第二个字符串内容覆盖(先清除第一个字符串的内容,在粘贴过去第二个字符串内容)。
注意:
1.源字符串必须以’\0'结束。
2.会将源字符串中的'\0'拷贝到目标空间。
3.目标空间必须足够大,以确保能存放源字符串。
4.目标空间必须可变。
二、函数的应用
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
char arr1[] = "abcdef";
char arr2[20] = { 0 };
strcpy(arr2, arr1);
printf("%s\n", arr2);
return 0;
}
运行结果
三、代码模拟实现
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<assert.h>
char* my_strcpy(char* dest, const char* src)
{
assert(dest && src);//
char* ret = dest;
while (*dest++ = *src++)
;
return ret;
}
int main()
{
char arr1[] = "abcdef";
char arr2[20] = { 0 };
my_strcpy(arr2, arr1);
printf("%s\n", arr2);
return 0;
}
运行结果:
本文共计363个文字,预计阅读时间需要2分钟。
一、基础知识+定义:`strcpy(char *destination, const char *source)` 作用:即将第二个字符串的内容复制到目标空间(第一个字符串),若第一个字符串中有内容,则会被第二个字符串覆盖。
一、基本知识
定义:char*strcpy(char*destination,constchar*source)
strcpy作用:
即string copy将第二个字符串的内容复制到目标空间(第一个字符串),若第一个字符串中有内容,则会被第二个字符串内容覆盖(先清除第一个字符串的内容,在粘贴过去第二个字符串内容)。
注意:
1.源字符串必须以’\0'结束。
2.会将源字符串中的'\0'拷贝到目标空间。
3.目标空间必须足够大,以确保能存放源字符串。
4.目标空间必须可变。
二、函数的应用
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<string.h>
int main()
{
char arr1[] = "abcdef";
char arr2[20] = { 0 };
strcpy(arr2, arr1);
printf("%s\n", arr2);
return 0;
}
运行结果
三、代码模拟实现
#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
#include<assert.h>
char* my_strcpy(char* dest, const char* src)
{
assert(dest && src);//
char* ret = dest;
while (*dest++ = *src++)
;
return ret;
}
int main()
{
char arr1[] = "abcdef";
char arr2[20] = { 0 };
my_strcpy(arr2, arr1);
printf("%s\n", arr2);
return 0;
}
运行结果:

