strcmp(3) Library Functions Manual strcmp(3) NAME strcmp - strings compare LIBRARY Standard C library (libc, -lc) SYNOPSIS #include int strcmp(const char *s1, const char *s2); DESCRIPTION The strcmp() function compares the two strings s1 and s2, as if by calling memcmp(3). It is equivalent to memcmp(s1, s2, MIN(strlen(s1),strlen(s2))+1) RETURN VALUE See memcmp(3). ATTRIBUTES For an explanation of the terms used in this section, see attributes(7). +--------------------------------------------+---------------+---------+ |Interface | Attribute | Value | +--------------------------------------------+---------------+---------+ |strcmp () | Thread safety | MT-Safe | +--------------------------------------------+---------------+---------+ STANDARDS C11, POSIX.1-2008. HISTORY POSIX.1-2001, C89, SVr4, 4.3BSD. CAVEATS The locale is not taken into account (for a locale-aware comparison, see strcoll(3)). EXAMPLES The program below can be used to demonstrate the operation of strcmp(). $ ./strcmp ABC ABC; and are equal $ ./strcmp ABC AB; # 'C' is ASCII 67; 'C' - '\0' = 67 is greater than (67) $ ./strcmp ABA ABZ; # 'A' is ASCII 65; 'Z' is ASCII 90 is less than (-25) $ ./strcmp ABJ ABC; is greater than (7) $ ./strcmp $'\201' A; # 0201 - 0101 = 0100 (or 64 decimal) is greater than (64) The last example uses bash(1)-specific syntax to produce a string containing an 8-bit ASCII code; the result demonstrates that the string comparison uses unsigned characters. Program source // strcmp.c // Licensed under GNU General Public License v2 or later. #include #include #include int main(int argc, char *argv[]) { int res; if (argc != 3) { fprintf(stderr, "Usage: %s \n", argv[0]); exit(EXIT_FAILURE); } res = strcmp(argv[1], argv[2]); if (res == 0) { printf(" and are equal"); printf("\n"); } else if (res < 0) { printf(" is less than (%d)\n", res); } else { printf(" is greater than (%d)\n", res); } exit(EXIT_SUCCESS); } SEE ALSO memcmp(3), strcasecmp(3), strcoll(3), streq(3), string(3), strverscmp(3), wcscmp(3) Linux man-pages 6.19 2026-08-10 strcmp(3)