strcpy()和memcpy()用法总结和比较
2012-11-03 15:32
323 查看
编写程序中我们常常需要对一个内存块的内容进行复制,有以下两个函数常常会用到,专门针对字符串的复制函数strcpy()/strcpy_s()和不针对具体的数据类型而仅仅复制一连续内存的memcpy()函数,这两个函数用法上有一些异同,下面我们分别进行分析:
1.strcpy()用法
char *strcpy(char *dest, const char *src);
功能:从src地址开始的以'\0'结束符结束的字符串复制到以dest开始的地址空间
返回:指向dest的指针
#include <string.h>
int main(void)
{
char string[80];
strcpy(string, “Hello world”);
printf(“%s”, string);
return 0;
}
注:
其中源字符串是const char *类型
2. memcpy()的用法
void *memcpy(void *dest, const void *src, size_t n);
功能:从源src所指的内存起始地址拷贝n个字节到目标dest所指的内存起始地址
返回:函数返回dest的指针
3.内存复制函数总结:
strcpy(),memcpy()二者的区别
复制的内容不同,strcpy只能复制字符串,memcpy()可复制任意内容
复制的方法不同,strcpy不需要指定长度,遇到复制字符串结束标志\0结束,memcpy()需要第三个参数指定复制的字节数
用途不同,通常在复制字符串时用strcpy,复制其他数据类型时用memcpy()
二者的相同点:
源地址的类型都是const类型的指针,目的地址类型是指针类型
补充:
strcmp()函数使用方法
int strcmp(const char *s1, const char *s2);
比较字符串s1, s2,相等时返回0,传递的参数均是const char *类型。
1.strcpy()用法
char *strcpy(char *dest, const char *src);
功能:从src地址开始的以'\0'结束符结束的字符串复制到以dest开始的地址空间
返回:指向dest的指针
#include <string.h>
int main(void)
{
char string[80];
strcpy(string, “Hello world”);
printf(“%s”, string);
return 0;
}
注:
其中源字符串是const char *类型
2. memcpy()的用法
void *memcpy(void *dest, const void *src, size_t n);
功能:从源src所指的内存起始地址拷贝n个字节到目标dest所指的内存起始地址
返回:函数返回dest的指针
3.内存复制函数总结:
strcpy(),memcpy()二者的区别
复制的内容不同,strcpy只能复制字符串,memcpy()可复制任意内容
复制的方法不同,strcpy不需要指定长度,遇到复制字符串结束标志\0结束,memcpy()需要第三个参数指定复制的字节数
用途不同,通常在复制字符串时用strcpy,复制其他数据类型时用memcpy()
二者的相同点:
源地址的类型都是const类型的指针,目的地址类型是指针类型
补充:
strcmp()函数使用方法
int strcmp(const char *s1, const char *s2);
比较字符串s1, s2,相等时返回0,传递的参数均是const char *类型。
相关文章推荐
- 常用库函数编程实现用法总结(一)memmove memcpy strcpy strncpy
- strcpy()、memcpy()与memset()的用法比较
- strcpy和memcpy用法用途比较
- memcpy的用法总结
- memset,memcpy和strcpy的比较
- 总结了一些常用的比较细节CSS和HTML代码的用法
- linux中strcpy、memcpy的用法与区别
- memcpy sprintf strcpy 的比较
- std::strcpy、strncpy、memset、memcpy用法
- strcpy,strncpy,strlcpy,memcpy 用法
- strcpy 与memcpy 的用法以及C语言实现
- 杂乱知识总结(strcpy,memcpy.fork,)
- C#相等比较用法总结
- C语言函数--strcpy和memcpy的比较
- memcpy的用法总结
- memset()、memcpy()、strcpy()的用法
- memcpy、strcpy比较
- NSString的各种用法总结(创建、截取、判断比较、转化数据类型、拼接、替换、添加、追加、读取、写入、删去、...
- c string 用法,memcpy,strcpy,strcmp 等
- sprintf,strcpy,memcpy的比较