MEMCMP - Linux手册页

时间:2019-08-20 18:00:52  来源:igfitidea点击:

Linux程序员手册 第3部分
更新日期: 2017-09-15

名称

memcmp-比较内存区域

语法

#include <string.h>

int memcmp(const void *s1, const void *s2, size_t n);

说明

memcmp()函数比较存储区s1和s2的前n个字节(每个字节均解释为无符号字符)。

返回值

如果发现s1的前n个字节分别小于,匹配或大于s2的前n个字节,则memcmp()函数返回小于,等于或大于零的整数。

对于非零返回值,该符号由在s1和s2中不同的第一对字节(解释为无符号字符)之间的差异的符号确定。

如果n为零,则返回值为零。

属性

有关本节中使用的术语的说明,请参见attribute(7)。

InterfaceAttributeValue
memcmp()Thread safetyMT-Safe

遵循规范

POSIX.1-2001,POSIX.1-2008,C89,C99,SVr4、4.3BSD。

备注

不要使用memcmp()比较安全关键数据,例如加密机密,因为所需的CPU时间取决于相等字节的数量。而是需要一个在恒定时间内执行比较的功能。某些操作系统提供了这样的功能(例如,NetBSD的consttime_memequal()),但是在POSIX中没有指定这样的功能。在Linux上,可能需要自己实现这种功能。

另外参见

bcmp(3),bstring(3),strcasecmp(3),strcmp(3),strcoll(3),strncasecmp(3),strncmp(3),wmemcmp(3)

出版信息

这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/