strcpy函数如何使用
2022-09-28 · 百度认证:北京惠企网络技术有限公司官方账号
strcpy()是C中的一个复制字符串的库函数,在C++中现在编译器要求使用strcpy_s(),提高安全性,效果是一样的,只是防止源串的长度比目的串的长度大,导致最终的内存越界。
函数声明及实现代码:
char* strcpy(char*dst, const char*src)
char* strcpy(char*dst, const char *src)
{ if ((dst == NULL) || (src == NULL)) return NULL; char *ret = dst; //
while ((*dst ++= *src++) != '\0');
return ret; }
const 修饰:源字符串参数用const修饰,防止修改源字符串;
空指针检查:源指针和目的指针都有可能会出现空指针的情况,所以应该对其进行检查。
为什么要设置ret 指针以及返回ret指针的位置,由于目的指针dst已经在进行移动了,所以用辅助指针ret表明首指针。
扩展资料:
在编程时,加入错误检查,就可及时发现错误,并且对出现的异常进行处理。在编写 strcpy
函数时,首先尽量使目的缓冲区长度足够长,另外要检测目的缓冲区和源缓冲区。如果目的缓冲区或源缓冲区是空,就要在异常处理中结束程序。
如果,源字符串比目的缓冲区长度不长,也要在异常处理中结束程序,以防止出现溢出情况。任何程序都很难说是绝对安全,只能以尽可能安全的方式来处理
strcpy 函数。
只要输入的字符串不以空字符结束,函数就会随时终止。这种检测容易实现。但是这样的检测也并不能确定函数一定安全。
参考资料来源:百度百科-strcpy