本文探讨了三种不同的方法来实现将一个字符串(str1)的内容复制到另一个字符串(str2)的过程,并分析各自的优缺点。适合希望深入了解C/C++语言中内存管理和字符串处理机制的读者参考学习。
自己编写函数,将两个字符串进行复制。代码如下:
```cpp
#include
using namespace std;
int main() {
char str1[] = I love China!, str2[20];
void Strcpy(char *p1, char *p2);
Strcpy(str1, str2);
cout << str1: << str1 << endl;
cout << str2: << str2 << endl;
return 0;
}
void Strcpy(char *p1, char *p2) {
int i = 0;
for (;*p1 != \0; p1++) {
*(p2 + i) = *p1;
i++;
}
}
```
注意:在`Strcpy()`函数中,字符串终止符应为`\0`而非原文中的‘0’。同时,在调用该函数时,参数的顺序应该是将源字符串作为第一个参数传递给目标字符串。因此,“Strcpy(str2, str1);” 应改为“Strcpy(str1, str2);”。