cómo comparar dos cadenas en C? Ayúdame, soy principiante @@Cómo comparar puntero a cadenas en C
char *str1 = "hello";
char *str2 = "world";
//compare str1 and str2 ?
cómo comparar dos cadenas en C? Ayúdame, soy principiante @@Cómo comparar puntero a cadenas en C
char *str1 = "hello";
char *str2 = "world";
//compare str1 and str2 ?
Es posible que desee utilizar strcmp
:
#include <stdio.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;
}
Resultado:
'hello' is less than 'world'.
+1, pero no me gustaría vincular a esa página, utiliza la horrible función obsoleta 'gets' en su ejemplo, que definitivamente no es una buena idea para alguien que comienza C. La [página POSIX] (http: // www .opengroup.org/onlinepubs/000095399/functions/strcmp.html) es una alternativa. – dreamlax
@dreamlax: De acuerdo :) Reparado ... –
if (strcmp(str1, str2) == 0)
same
Es posible comparar dos char*
s utilizando el strcmp
function.
Estos deberían ser '' const char *. – dreamlax