Resultados 1 al 7 de 7

Tema: comparar cadenas en C...

  1. #1
    Con domicilio en Noticias3d.com Avatar de Timonoj
    Ubicación
    Hong Kong
    Mensajes
    6,705

    Predeterminado comparar cadenas en C...

    Vale es una obvia, pero bueno: Estoy recibiendo por un socket una cadenita de texto, con los diferentes comandos que un cliente me puede mandar. para verificar el comando puedo hacer algo como:
    char buffer[256];
    if (buffer=="CLOSE")
    {/*secuencia de cierre*/;}
    Vostro 1500/C2Duo/T7300 2Ghz/2GB Ram/GF8600M 256MB (1440x900)/160GB 7200rpm/Wifi .11n
    Asus 1000H

  2. #2
    Sin vida social Avatar de Koriv
    Ubicación
    Sevilla
    Mensajes
    246

    Predeterminado Re: comparar cadenas en C...

    Para comparar cadenas en C existe la funcion "strcmp" suyo prototipo es:

    Código:
    int strcmp(char *cadena1, char *cadena2);
    La función devuelve:

    - 0, si las cadenas son iguales
    - un numero mayor que 0, si cadena1 es mayor que cadena2
    - un numero negatico, si cadena2 es mayor que cadena1

    Espero haberte ayudado. Saludos

  3. #3

    Predeterminado Re: comparar cadenas en C...

    para comparar cadenas usa la funcion strcmp(cadena1, cadena2) dentro del if

    esa funcion devuelve un cero si son iguales, tambien necestiaras poner el #include <string.h> al principio del programa

  4. #4
    Con domicilio en Noticias3d.com Avatar de Timonoj
    Ubicación
    Hong Kong
    Mensajes
    6,705

    Predeterminado Re: comparar cadenas en C...

    Ok, muchas zenkius!
    Asin da gusto hacer programas...
    Vostro 1500/C2Duo/T7300 2Ghz/2GB Ram/GF8600M 256MB (1440x900)/160GB 7200rpm/Wifi .11n
    Asus 1000H

  5. #5
    Con domicilio en Noticias3d.com Avatar de Timonoj
    Ubicación
    Hong Kong
    Mensajes
    6,705

    Predeterminado Re: comparar cadenas en C...

    Añado duda... En la comparación de mi variable buffer, no tendría que añadir el carácter de final? O sea, si a mi en el socket me han plantado un "CLOSE", no debería de hacer
    if (strcmp(buffer, "CLOSE\n")==0)
    ?
    Vostro 1500/C2Duo/T7300 2Ghz/2GB Ram/GF8600M 256MB (1440x900)/160GB 7200rpm/Wifi .11n
    Asus 1000H

  6. #6

    Predeterminado Re: comparar cadenas en C...

    Depende si mandas CLOSE con un salto de linea al final (CLOSE\n), o simplemente CLOSE.

  7. #7
    Sin vida social
    Ubicación
    :nòicazilacoL
    Edad
    40
    Mensajes
    324

    Predeterminado Re: comparar cadenas en C...

    Te puede ser util la funcion strncmp, que le dices cuantos caracteres quieres comparar.
    "- ¿Nervioso?
    - Si, un poco.
    - ¿Es la primera vez?
    - No, ya habia estado nervioso antes." - Aterriza como puedas


Permisos de publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •