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,820

    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*/;}
    Lenovo y510p. i7-4702MQ, 16GB RAM, 750m SLI, 256GB SSD+1TB HDD.
    Vostro 1500 Core2Duo, 4GB RAM...servidor hogareño

  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,820

    Predeterminado Re: comparar cadenas en C...

    Ok, muchas zenkius!
    Asin da gusto hacer programas...
    Lenovo y510p. i7-4702MQ, 16GB RAM, 750m SLI, 256GB SSD+1TB HDD.
    Vostro 1500 Core2Duo, 4GB RAM...servidor hogareño

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

    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)
    ?
    Lenovo y510p. i7-4702MQ, 16GB RAM, 750m SLI, 256GB SSD+1TB HDD.
    Vostro 1500 Core2Duo, 4GB RAM...servidor hogareño

  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
  •