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/.