memcmp(3)

memcmp3

Compare bytes in memory

Usage

#include <string.h>

int

memcmp(const void *b1, const void *b2, size_t len);

Library

Standard C Library (libc, -lc)

Overview

The memcmp() function compares byte object b1 against byte object b2. Both objects are assumed to be len bytes long.

Return values

The memcmp() function returns zero if the two objects are identical. Zero-length objects are considered identical. The memcmp() function returns a negative value if the first differing byte has a lower value in b1 and a positive value if the first differing byte has a higher value in b1.

Caveats

If the objects differ, the C library memcmp() implementation returns the difference between the first two differing bytes (treated as unsigned char values). This behavior is not specified by ISO/IEC 9899:1990 (“ISO C90”), is not portable, and may not occur in light of compiler optimizations.

Releases

87 releases since FreeBSD 2.0.5-RELEASE; the text changed 43 times.

  1. 2.0.5–2.1.7.1
  2. 2.2.2–2.2.8
  3. 2.2.9
  4. 3.0–3.2
  5. 3.3–3.4
  6. 3.5–3.5.1
  7. 4.0
  8. 4.1–4.2
  9. 4.3–4.4
  10. 4.5–4.11
  11. 5.0–6.3
  12. 6.4
  13. 7.0
  14. 7.1
  15. 7.2
  16. 7.3
  17. 7.4
  18. 8.0
  19. 8.1
  20. 8.2
  21. 8.3
  22. 8.4
  23. 9.0
  24. 9.1
  25. 9.2
  26. 9.3
  27. 10.0
  28. 10.1
  29. 10.2
  30. 10.3
  31. 10.4
  32. 11.0
  33. 11.1
  34. 11.2
  35. 11.3
  36. 11.4
  37. 12.0
  38. 12.1
  39. 12.2
  40. 12.3
  41. 12.4
  42. 13.0–13.2
  43. 13.3–14.3
  44. 14.4–16.0

Standards

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

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.