< c‎ | string‎ | byte
Revision as of 14:09, 10 September 2013 by P12 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Defined in header <string.h>
int strcmp( const char *lhs, const char *rhs );

Compares two null-terminated byte strings. The comparison is done lexicographically.


[edit] Parameters

lhs, rhs - pointers to the null-terminated byte strings to compare

[edit] Return value

Negative value if lhs is less than rhs.

0 if lhs is equal to rhs.

Positive value if lhs is greater than rhs.

[edit] Example

#include <string.h>
#include <stdio.h>
int main() 
    const char* string = "Hello World!";
    int a = strcmp(string, "Hello World!");
    if (a == 0) {
        printf("Strings are matching.\n");
    //Greater than
    int b = strcmp(string, "Hello");
    if (b >= 1) {
        printf("Left hand side is bigger than right hand side.\n");
    //less than
    int c = strcmp(string, "Hello there world!");
    if (c <= -1) {
        printf("Left hand side is smaller than right hand side.\n");


Strings are matching.
Left hand side is bigger than right hand side.
Left hand side is smaller than right hand side.

[edit] See also

compares a certain amount of characters of two strings
(function) [edit]
compares two buffers
(function) [edit]
compares two strings in accordance to the current locale
(function) [edit]