tags:

views:

110

answers:

3

how to compare two strings in C? Help me, I am beginner@@

char *str1 = "hello";
char *str2 = "world";
//compare str1 and str2 ?
+1  A: 
if ( strcmp( str1, str2 ) == 0 )
  same
Anders K.
+1  A: 

You can compare two char*s using the strcmp function.

linuxuser27
+4  A: 

You may want to use strcmp:

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

int main (int argc, char **argv)
{
    int v;
    const char *str1 = "hello";
    const char *str2 = "world";

    v = strcmp (str1, str2);

    if (v < 0)
        printf ("'%s' is less than '%s'.\n", str1, str2);
    else if (v == 0)
        printf ("'%s' equals '%s'.\n", str1, str2);
    else if (v > 0)
        printf ("'%s' is greater than '%s'.\n", str1, str2);

    return 0;
}

Result:

'hello' is less than 'world'.
Daniel Vassallo
+1, but I wouldn't link to that page, it uses the horrible outdated `gets` function in its example, which is definitely not a good idea for someone beginning C. The [POSIX page](http://www.opengroup.org/onlinepubs/000095399/functions/strcmp.html) is an alternative.
dreamlax
@dreamlax: Agreed :) Fixed...
Daniel Vassallo