compare strings

You're viewing an older version of this page (#3498). View the current version.

View versions (3)

INTERFACE

#include <string.h> int strcmp ( const char *s1, const char *s2 ) int strncmp ( const char *s1, const char *s2, size_t len )

DESCRIPTION

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

The strncmp function compares not more than len characters. Because strncmp is designed for comparing strings rather than binary data, characters that appear after a '<span class="Qlq">\\0</span>' character are not compared.

Example 1

#include <stdio.h>
#include <string.h>

int main()
{
  // define two strings s, t and initialize s
  char s[10] = "testing", t[10];

  // copy s to t
  strcpy(t, s);

  // test if s is identical to t
  if (!strcmp(s, t))
    printf("The strings are identical.\n");
  else
    printf("The strings are different.\n");

  return 0;
}

Output:

The strings are identical.

RETURN VALUES

The strcmp and strncmp 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 '<span class="Qlq">\\200</span>' is greater than '<span class="Qlq">\\0</span>'.

SEE ALSO

memcmp, strcoll, strxfrm

STANDARDS

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