编写mystrcpy(char *str1,char *str2)复制字符串2到1
时间: 2024-12-12 07:22:46 浏览: 3
字符串练习
在C语言中,可以编写一个名为`mystrcpy`的函数来复制一个字符串(`str2`)的内容到另一个字符串(`str1`)。这里有一个基本的实现示例:
```c
#include <string.h> // 引入内存操作相关的头文件
void mystrcpy(char *str1, const char *str2) {
// 确保目标字符串有足够空间存放源字符串
if (str1 != NULL && str2 != NULL && *str2 != '\0') {
// 从源字符串开始,逐字节复制到目标字符串
while (*str2 != '\0') {
*str1++ = *str2++; // 直至遇到结束符'\0'
}
// 结束符也要复制过去
*str1 = '\0'; // 在目标字符串添加终止符
} else {
printf("Invalid input: either str1 or str2 is NULL.\n");
}
}
int main() {
char str1[50];
char str2[] = "Hello, C!";
mystrcpy(str1, str2);
printf("Copied string: %s\n", str1); // 输出:Hello, C!
return 0;
}
```
在这个`mystrcpy`函数中,我们检查输入是否有效,然后通过逐个字符复制实现了字符串的复制。请注意,如果`str1`或`str2`中的任何一个为NULL,函数会打印错误信息并不做任何复制。
阅读全文