strcmp - compare two strings
strcmp, strncmp - compare two strings
#include <string.h>
int strcmp(string s1, string s2);
#include <string.h>
int strcmp(const char *s1, const char *s2);
int strncmp(const char *s1, const char *s2, size_t n);
This function compares two strings case-sensitively.
The strcmp() function compares the two strings s1 and s2. It returns an integer less than, equal to, or greater than zero if s1 is found, respectively, to be less than, to match, or be greater than s2.
The strncmp() function is similar, except it compares only the first (at most) n bytes of s1 and s2.
This function returns
int less than 0 if s1 comes before s2,0 if s1 is the same as s2,int greater than 0 if s1 comes after s2.The strings are compared using “ASCIIbetical” order, based on the ASCII values of their characters. For instance, "AAA" would come before "BBB", and "AAA" would also come before "aaa".
#include <stdio.h>
#include <string.h>
int main(void)
{
string s1 = get_string("s1: ");
string s2 = get_string("s2: ");
if (strcmp(s1, s2) == 0)
{
printf("Those are the same.\n");
}
else
{
printf("Those are different.\n");
}
}
For an explanation of the terms used in this section, see attributes(7).
| Interface | Attribute | Value |
| strcmp(), strncmp() | Thread safety | MT-Safe |
POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD.
bcmp(3), memcmp(3), strcasecmp(3), strcoll(3), string(3), strncasecmp(3), strverscmp(3), wcscmp(3), wcsncmp(3)
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/.