目录
1.strcpy函数的函数声明
char *strcpy( char *to, const char *from );
2.strcpy函数的头文件
#include <string.h>
3.strcpy函数的使用
strcpy函数是将一个字符串的全部内容(包括'\0')拷贝到另一个字符串里。
#include <stdio.h>
#include <string.h>
int main()
{
char arr1[] = "abcdefghi";
char arr2[] = "bit";
strcpy(arr1, arr2);//字符串拷贝
printf("%s\n", arr1);
printf("%s\n", arr2);
return 0;
}
4.my_strcpy函数的实现
strcpy函数是字符串拷贝,传入的第一个字符串是接收拷贝的字符串,第二个字符串是要被拷贝的字符串,我们不需要保护第一个字符串,但是我们不希望第二个字符串被修改,所以在第二个传参的时候加上const。
assert是断言,判断传入的字符串是否合法(是否不为空指针),如果是空指针则进行报错
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
#include <assert.h>
char* my_strcpy(char* dest, const char* str)
{
assert(*dest != NULL);
assert(*str != NULL);
char* ret = dest;
//拷贝str指向的字符串到dest指向的空间,包含'\0'
while (*dest++ = *str++)
{
;
}
//返回目的空间的起始地址
return ret;
}
int main()
{
char arr1[] = "abcdefghi";
char arr2[] = "bit";
my_strcpy(arr1, arr2);
printf("%s\n", arr1);
printf("%s\n", arr2);
return 0;
}