您的位置:首页 > 其它

memcpy,strcpy,memset,strcmp相关函数的用法

2016-11-17 12:08 330 查看
1.Strcpy:只能复制字符串,可以拷贝字符结束符

原型:extern char *strcpy(char *dest,char *src);

功能:把src所指由NULL结束的字符串复制到dest所指的数组中。

2.Memcpy :可以复制任意的内容,但是 不可以拷贝字符结束符

原型:extern void *memcpy(void *dest,void dest,unsigned int count)

功能:由src所指内存区域赋值count个字节到dest所指内存区域

3..Memset()函数

void *memset(void*s,int c,size_t n)

总的作用:将已开辟内存空间 s 的首 n 个字节的值设为值 c。

 memset可以方便的清空一个结构类型的变量或数组,常用于内存空间初始化----》memset(a,'\0',sizeof(a));
比如对于下面的结构体,

struct student

{

char name[16];

int age;

int score[16];

};

一般的清空方法是将里面的内容赋0,但是用memset就比较方便

memset(&student,0,sizeof(student));

如果是数组的话

char test[10];

memset(test,0,sizeof(test)*10);

4.strncmy()函数--->比较两个字符串的钱n个字符是否相同

int strncmp (
const char * str1, const char * str2, size_t n );

【参数】str1, str2 为需要比较的两个字符串,n为要比较的字符的数目

注意:要比较的字符包括字符串结束标志'\0',而且一旦遇到'\0'就结束比较,无论n是多少,不再继续比较后边的字符。

【返回值】若str1与str2的前n个字符相同,则返回0;若s1大于s2,则返回大于0的值;若s1 若小于s2,则返回小于0的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  strcpy memcpy strncmp memset
相关文章推荐