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则返回正数。其对比是以字符为单位的。

示例程序C语言库函数

相关文章: