答:strcpy函数 为什么要 返回 指针? 经常在 面试 时被问道的一个题目: strcpy函数 为什么要 返回 指针? 看了好多人的说法,个人认为只有林锐的是正确的。 答案:为了实现链式表达式。 (林锐的答案,没错,是这样的,我同意) 我想增加另外一个原因或者解释:即 strcpy函数 能正常运行有如下要求: Return Value Each of these functions returns the de st ination string. No
答: strcpy,即string copy(字符串复制)的缩写。strcpy是C++语言的一个标准函数,strcpy把含有'0'结束符的字符串复制到另一个地址空间,返回值的类型为char*。
答:strcpy 函数由于不对数组边界进行检查,而非常容易造成各种 缓冲区溢出的漏洞。 这些漏洞很容易被利用,而造成严重的系统问题。 在使用 strcpy 函数时,要小心谨慎。 以下就 Strcpy 函数中的 缓冲区溢出 问题和防范进行讨论。 [2]
答:返回strSrc的原始值是错误的。 其一,源字符串肯定是已知的,返回它没有意义。 其二,不能支持形如第二例的表达式。 其三,把const char *作为char *返回,类型不符,编译报错。 strcpy和memcpy都是标准C库函数,它们有下面的特点。 strcpy提供了字符串的复制。 即strcpy只用于字符串复制,并且它不仅复制字符串内容之外,还会复制字符串的结束符。 memcpy提供了一般内存的复制。 即memcpy对于需要复制的内容没有限制,因此用途更广。 strcpy和memcpy主要有以下3方面的区别。 1、复制的内容不同。 strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。 2、复制的方法不同。