strcpy&memcpy理解

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了strcpy&memcpy理解相关的知识,希望对你有一定的参考价值。

参考技术A 其实当初就是随便用用,最近找实习,被问起来,还让写strcpy原型,好久没动了,就索性一块看看

strcpy只能拷贝字符串,memcpy还能拷贝其他的
strcpy遇到 '\0' 拷贝结束(拷贝时将'\0’带过去),memcpy拷贝时带有长度参数

其实strcpy复制过去是带字符串结束符 ‘\0’的

在VS2013中输出的结果不同,以上执行拷贝后输出abcd 后面的全部都为空格,并且在VS2013中,用strcpy会提示错误,让用strcpy_s代替strcpy函数。

实例二在Dev中可以运行,在VS2013中不可以运行(即使将strcpy改成strcpy_s运行时也出错)

在实际环境中,无论是用strcpy还是strcpy_s函数时,都需要留一个字符串结束的空间,如string的拷贝构造函数。

void *memcpy(void*dest, const void *src, size_t n);
dest 目的字符串
src 原字符串
n 拷贝的字节数,常为sizeof(xxx)

以上是关于strcpy&memcpy理解的主要内容,如果未能解决你的问题,请参考以下文章

手写strcpy和memcpy代码实现

strcpy,memcpy,memset函数实现

strcpy 和 memcpy自实现

常用函数strcpy strcat strcmp strlen memcpy memset

atoiitoa,strcpy,strcmp,memcpy等实现

strcpy和memcpy的区别