strcpy 函数是C语言标准库中的字符串处理函数,用于将一个字符串复制到另一个字符串中。
char *strcpy(char *dest, const char *src);
dest 是目标字符串的指针,用于存储复制后的字符串。
src 是源字符串的指针,指向要被复制的字符串。
strcpy的使用
#include <stdio.h>
#include <string.h>
int main() {
char source[20] = "Hello, world!"; // 源字符串
char destination[20]; // 目标字符串,要确保有足够的空间容纳源字符串
// 使用 strcpy 函数将源字符串复制到目标字符串
strcpy(destination, source);
printf("源字符串: %s\n", source);
printf("目标字符串: %s\n", destination);
return 0;
}
仿写strcpy()
char* my_strcpy(char* str1, const char* str2)
{
//返回一个起始地址
char* ret = str1; //将原地址的内容给到目标地址,str1是目标地址
while (*str1++ = *str2++)
{
;
}
return ret;
}
int main()
{
char arr1[20] = "";
//char* p = "abcdefghiqwer";
char arr2[] = "hello bit";
my_strcpy(arr1, arr2);
printf("%s\n", arr1);
return 0;
}
这段代码主要实现了字符串复制功能:
自定义函数my_strcpy:定义了一个名为my_strcpy的函数,接收目标字符串指针str1和源字符串指针str2(str2声明为const防止意外修改)。函数内先保存str1的起始地址到ret,通过while循环逐个字符将str2中的内容复制到str1,直到遇到字符串结束符'\0',最后返回目标字符串的起始地址ret。
主函数main:定义了一个字符数组arr1用于存储复制后的字符串,初始化为空字符串;还定义了字符数组arr2存储源字符串"hello bit"。