memcpy和strcpy的区别
2016-07-06 15:23
176 查看
memcpy:
函数原型:void *memcpy(void *dest, const void *src, size_t n);
功能:从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中
返回值:指向dest的指针。
说明:memcpy会完整的复制n个字节,不会因遇到字符串结束符’\0’而结束。而strcpy则是遇到字符串结束符’\0’而结束。
strcpy:http://www.cplusplus.com/reference/cstring/strcpy/
函数原型:char * strcpy ( char * destination, const char * source );
功能:从源source所指的内存地址的起始位置拷贝字符到destination目的地址中,直到遇到结束符\0而结束。
strcpy和memcpy的区别:
(1)复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。
(2)复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符”\0”才结束,所以容易溢出。 memcpy则是根据其第3个参数决定复制的长度。
函数原型:void *memcpy(void *dest, const void *src, size_t n);
功能:从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中
返回值:指向dest的指针。
说明:memcpy会完整的复制n个字节,不会因遇到字符串结束符’\0’而结束。而strcpy则是遇到字符串结束符’\0’而结束。
strcpy:http://www.cplusplus.com/reference/cstring/strcpy/
函数原型:char * strcpy ( char * destination, const char * source );
功能:从源source所指的内存地址的起始位置拷贝字符到destination目的地址中,直到遇到结束符\0而结束。
strcpy和memcpy的区别:
(1)复制的内容不同。strcpy只能复制字符串,而memcpy可以复制任意内容,例如字符数组、整型、结构体、类等。
(2)复制的方法不同。strcpy不需要指定长度,它遇到被复制字符的串结束符”\0”才结束,所以容易溢出。 memcpy则是根据其第3个参数决定复制的长度。
相关文章推荐
- 深入分析C中不安全的sprintf与strcpy
- C语言中的strdup()函数和其与strcpy()函数的区别
- 详解C语言中strcpy()函数与strncpy()函数的使用
- 字符串拷贝函数memcpy和strncpy以及snprintf 的性能比较
- 基于C++执行内存memcpy效率测试的分析
- C++中memcpy和memmove的区别总结
- C--memcpy
- memcpy 拷贝函数
- JAVA中类似C中memcpy功能
- 惊讶,微软的所谓“安全的”文字列拷贝函数strcpy_s 居然非常粗暴(只在Debug版发生)
- 浅析在类模版中构建成员函数时,使用memcpy产生的副作用
- C/C++中野指针的问题
- strcpy函数实现
- strcpy函数实现-续
- VS2010编译警告:warning C4996:‘strcpy’:This function
- 学习笔记---str族函数
- 学习笔记---mem族函数
- strcpy函数实现
- strcpy memcpy等相关函数实现
- strncpy()函数