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

# strcmp(3)

compare strings

## NAME

**strcmp**, **strncmp** – compare strings

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

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

*int*\

**strcmp**(*const char \*s1*, *const char \*s2*);

*int*\

**strncmp**(*const char \*s1*, *const char \*s2*, *size\_t n*);

## DESCRIPTION

The **strcmp**() and **strncmp**() functions lexicographically compare the null-terminated strings *s1* and *s2*.

The **strncmp**() function compares not more than *n* characters. Because **strncmp**() is designed for comparing strings rather than binary data, characters that appear after a ‘\\0’ character are not compared.

## RETURN VALUES

The **strcmp**() and **strncmp**() functions return an integer greater than, equal to, or less than 0, according as the string *s1* is greater than, equal to, or less than the string *s2*. The comparison is done using unsigned characters, so that ‘\\200’ is greater than ‘\\0’.

## SEE ALSO

[bcmp(3)](/bcmp/3.md), [memcmp(3)](/memcmp/3.md), [strcasecmp(3)](/strcasecmp/3.md), [strcoll(3)](/strcoll/3.md), [strxfrm(3)](/strxfrm/3.md), [wcscmp(3)](/wcscmp/3.md)

## STANDARDS

The **strcmp**() and **strncmp**() functions conform to ISO/IEC 9899:1990 (“ISO C90”).
