c语言memcmp函数,求解! 谢谢!
2个回答
展开全部
原型:extern int memcmp(void *buf1, void *buf2, unsigned int count);
用法:#include <string.h>
功能:比较内存区域buf1和buf2的前count个字节。
说明:
当buf1<buf2时,返回值<0
当buf1=buf2时,返回值=0
当buf1>buf2时,返回值>0
举例:
// memcmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=memcmp(s1,s2,strlen(s1));
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
用法:#include <string.h>
功能:比较内存区域buf1和buf2的前count个字节。
说明:
当buf1<buf2时,返回值<0
当buf1=buf2时,返回值=0
当buf1>buf2时,返回值>0
举例:
// memcmp.c
#include <syslib.h>
#include <string.h>
main()
{
char *s1="Hello, Programmers!";
char *s2="Hello, programmers!";
int r;
clrscr();
r=memcmp(s1,s2,strlen(s1));
if(!r)
printf("s1 and s2 are identical");
else
if(r<0)
printf("s1 less than s2");
else
printf("s1 greater than s2");
getchar();
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是内容复制啊。比如char a[100],b[100];
memcpy(b,a,60);就是把a的前60个内容复制到b里面。
当然,a、b格式可以不一样。比如int a[100];ichar b[100];
memcpy(b,a,60);注意函数里的60是指字节数,不是复制多少个。
如果int型是16位的话,就是把a里面前30个数存到b里面,当然高低位会被拆开,成为独立的字符(char型)
memcpy(b,a,60);就是把a的前60个内容复制到b里面。
当然,a、b格式可以不一样。比如int a[100];ichar b[100];
memcpy(b,a,60);注意函数里的60是指字节数,不是复制多少个。
如果int型是16位的话,就是把a里面前30个数存到b里面,当然高低位会被拆开,成为独立的字符(char型)
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询