出现的情况:
此时出现的问题是如果仅仅扩展字符串长度大小的char型数组,进行复制后,会发现此时对这个复制到目标数组大小扩展为原来的两倍,就失去了要复制的意义,这个+1是为了保存'\0',然后就成功了,原因啥的也不是很清楚,能跑起来就行。
char buff[256] = "abcde";
int length = strlen(buff);
char budd[length+1];
/**
*进行赋值,但必须要多一个空间,不然在此时strlen(budd)会奇怪的变成为2倍的length
*/
strncpy(budd,buff,i);//末尾要有'\0',必须要加1,不然会传输两次