字符串函数__strcpy()

简介: strcpy()是在一个空间里拷贝一个字符串,遇到\0停止,同时也会拷贝\0

一.strcpy()函数的简介

strcpy()是在一个空间里拷贝一个字符串,遇到\0停止,同时也会拷贝\0

strcpy()函数声明:

char * strcpy ( char * destination, const char * source);

destination:目标空间

source:拷贝空间(存放字符串)

返回的类型是字符串指针,就是目标空间里的字符串首地址

二.注意事项

1.拷贝时,原字符串必须要有'\0',strcpy()遇见‘\0’才会停止拷贝

1. #include<stdio.h>
2. #include<string.h>
3. int main()
4. {
5. char brr[20]={'a','b','c'};
6. char crr[20]={0};
7. strcpy(crr,brr);
8. printf("%s\n",crr);
9. return 0;
10. }

这里会拷贝失败,因为数组brr里的字符串中没有 \0,strcpy()遇见‘\0’才会停止拷贝

2.拷贝空间必须可以修改,不能是常量字符串

1. #include<stdio.h>
2. #include<string.h>
3. int main()
4. {
5.     char *str="abcdef";
6.     char drr[20]="hello";
7.     strcpy(str,drr);
8.     printf("%s\n",str);
9.     return 0;
10. }

这里会运行失败,str是常量字符串,空间不可修改,所以无法拷贝

3.目标空间必须还有拷贝空间的空间才能拷贝成功

就是说目标空间arr剩余空间能够容下拷贝空间brr的字符串.

三.模拟实现strcpy()

1. #include<stdio.h>
2. void my_strcpy(char* dest,char* src)
3. {
4. while(1)
5.     {
6.         *dest=*src;
7. if(*dest=='\0')
8.         {
9. break;
10.         }
11.         dest++;
12.         src++;
13.     }
14. }
15. int main()
16. {
17. char arr[20]="hello ";
18. char brr[20]="world";
19. my_strcpy(arr,brr);
20. printf("%s\n",arr);
21. return 0;
22. }

运行结果:

F827EFDA-FC58-4488-A60B-A36C99DFF859.jpeg



相关文章
|
6月前
|
C语言
字符串函数`strlen`、`strcpy`、`strcmp`、`strstr`、`strcat`的使用以及模拟实现
字符串函数`strlen`、`strcpy`、`strcmp`、`strstr`、`strcat`的使用以及模拟实现
|
27天前
解析与模拟常用字符串函数strcpy,strcat,strcmp,strstr(一)
解析与模拟常用字符串函数strcpy,strcat,strcmp,strstr(一)
24 0
|
6月前
|
C语言
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
C语言:字符函数和字符串函数(strlen strcat strcmp strncmp等函数和模拟实现)
|
6月前
|
C语言
【C语言】字符串函数strcpy&&strcat&&strcmp&&strstr的使⽤和模拟实现2
【C语言】字符串函数strcpy&&strcat&&strcmp&&strstr的使⽤和模拟实现
|
6月前
|
存储 C语言
【C语言】字符串函数strcpy&&strcat&&strcmp&&strstr的使⽤和模拟实现1
【C语言】字符串函数strcpy&&strcat&&strcmp&&strstr的使⽤和模拟实现
C实现字符操作函数,strcpy, strcat, strcmp, memcpy
C实现字符操作函数,strcpy, strcat, strcmp, memcpy
47 0
|
6月前
|
C语言
深入理解字符串函数和字符函数(islower和isupper、tolower和toupper、strlen、strcpy、strcat、strcmp)(一)
深入理解字符串函数和字符函数(islower和isupper、tolower和toupper、strlen、strcpy、strcat、strcmp)(一)
|
编译器 Linux C语言
【C语言】字符串函数的介绍二( strcmp、strncpy、strncat、strncmp)
【C语言】字符串函数的介绍二( strcmp、strncpy、strncat、strncmp)
125 0
|
存储 C语言 C++
【C语言】字符串函数的介绍一(strlen、strcpy、stract)
【C语言】字符串函数的介绍一(strlen、strcpy、stract)
80 0
字符串函数strncmp
字符串函数strncmp
122 1