string.h
1、memcmp的用法
函数原型
int memcmp(const void *str1, const void *str2, size_t n));
参数
● str1-- 指向内存块的指针。
● str2-- 指向内存块的指针。
● n-- 要被比较的字节数。
功能
比较内存区域buf1和buf2的前count个字节。
头文件
#include <string.h>或#include<memory.h>
返回值
● 如果返回值 < 0,则表示 str1 小于 str2。
● 如果返回值 > 0,则表示 str2 小于 str1。
● 如果返回值 = 0,则表示 str1 等于 str2。
应用说明
该函数是按字节比较的。
例如:
s1,s2为字符串时候memcmp(s1,s2,1)就是比较s1和s2的第一个字节的ascII码值;
memcmp(s1,s2,n)就是比较s1和s2的前n个字节的ascII码值;
如:char *s1=“abc”;
char *s2=“acd”;
int r=memcmp(s1,s2,3);
就是比较s1和s2的前3个字节,第一个字节相等,第二个字节比较中大小已经确定,不必继续比较第三字节了。所以r=-1.
功能比较
在C中,数据的对比函数一般使用strcmp和memcmp这两种:
(1)memcmp功能是比较内存区域buf1和buf2的前count个字节,其结果为按字节进行对比;
(2)strcmp
头文件:string.h
函数名:intstrcmp(const char *s1,const char *s2)
功能:比较字符串s1和s2,s1小于s2则返回负数,s1等于s2则返回零,s1大于s2则返回正数。其对比是以字符为单位的。
示例程序