#include<iostream>
using namespace std;
//思路分析:
//a.确定被拷贝的数组内存是否小于等于目标数组的内存大小
//b.拷贝数组
//c.目标数组最后一个字符为空字符(\0)
//str1:被拷贝的数组 str2:目标数组 len:目标数组的长度
bool stringCopy(char* str1, char* str2, int len)
{
//计算被拷贝数组除\0外有效字符长度
int i = 0;
while (str1[i] != '\0')
{
i++;
}
//比较被拷贝的数组str1与目标数组的长度,防止数组越界造成崩溃
if (i > len)
{
return false;
}
//进行同步拷贝
i = 0;
while (str1[i] != '\0')
{
str2[i] = str1[i];
i++;
}
str2[i] = '\0';
return true;
}
void printF(char* str1, char* str2)
{
cout << "str1:" << str1 << endl;
cout << "str2:" << str2 << endl;
}
int main()
{
char str1[] = "abc";
char str2[10] = { 0 };
//----拷贝
stringCopy(str1, str2, 10);
printF(str1, str2);
system("pause");
return 0;
}