C++ strcpy函数
函数功能把含有
函数声明:char *strcpy(char* dest, const char *src);
把以src为首地址NULL为结束符的数据复制到已dest开始的地址,但是,src与dest空间不能有重叠,且dest必须有足够的空间。
C++提供strcpy此类函数,为了对指针操作更加安全,避免内存泄露等异常状态的发生。
例如:
在C++中,字符串常量"hello"被保存在常量存储区,而p="hello"操作是改变了指针的指向,使得指针p指向了常量存储区的"hello",造成了初始在堆上开辟的内存泄露,而delete无法释放常量存储区的内存,导致出错。
正确操作:
使用strcpy函数把字符串常量"hello"赋值到p指向的空间中(初始化在堆上开辟空间)。