---
name: "memcmp"
section: "3"
platform: "macos"
package: "Libc"
version: "1752.120.2"
release: "macOS 26.5"
platforms: ["linux", "freebsd", "macos"]
url: "https://new.carta.tech/memcmp"
---

# memcmp(3)

compare byte string

## NAME

**memcmp** – compare byte string

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<string.h\>**

*int*\

**memcmp**(*const void \*s1*, *const void \*s2*, *size\_t n*);

## DESCRIPTION

The **memcmp**() function compares byte string *s1* against byte string *s2*. Both strings are assumed to be *n* bytes long.

## RETURN VALUES

The **memcmp**() function returns zero if the two strings are identical, otherwise returns the difference between the first two differing bytes (treated as *unsigned char* values, so that ‘\\200’ is greater than ‘\\0’, for example). Zero-length strings are always identical. This behavior is not required by C and portable code should only depend on the sign of the returned value.

## SEE ALSO

[bcmp(3)](/bcmp/3.md), [strcasecmp(3)](/strcasecmp/3.md), [strcmp(3)](/strcmp/3.md), [strcoll(3)](/strcoll/3.md), [strxfrm(3)](/strxfrm/3.md), [wmemcmp(3)](/wmemcmp/3.md)

## STANDARDS

The **memcmp**() function conforms to ISO/IEC 9899:1990 (“ISO C90”).
