Java程序员要知道的C/C++函数
作者:网络转载 发布时间:[ 2013/12/10 10:30:23 ] 推荐标签:
注意:当src串长度>dest串长度时,程序仍会将整个src串复制到dest区域,可是dest数组已发生溢出。因此会导致dest栈空间溢出以致产生崩溃异常。如果不考虑src串的完整性,可以把dest数组后一元素置为NULL,从dest串长度处插入NULL截取字串。
Strcpy和Strncpy正确使用示例:
|
char* p="how are you ?";
char name[20]="ABCDEFGHIJKLMNOPQRS";
strcpy(name,p); //name改变为"how are you ? "
strncpy(name,p, sizeof(name));
//name改变为"how are you ?"
|
后续的字符将置为NULL
如果拷贝的串的长度大于目标串长度时,两者的处理方式:
|
char* p="how are you ?";
char name[10];
strcpy(name,p); //目标串长度小于源串,错误!
name[sizeof(name)-1]=' |
