typestar

Comparar cadenas en C

strcmp ordena texto y nunca devuelve un bool: compara su resultado contra cero.

#include <string.h>

int is_command(const char *arg, const char *name) {
    return strcmp(arg, name) == 0;
}

int has_prefix(const char *text, const char *prefix) {
    return strncmp(text, prefix, strlen(prefix)) == 0;
}

const char *smaller_of(const char *a, const char *b) {
    return (strcmp(a, b) <= 0) ? a : b;
}

int addresses_differ(void) {
    const char *a = "same";
    char b[] = "same";
    return (a != b) && (strcmp(a, b) == 0);
}

Cómo funciona

  1. Cero significa igualdad; el signo da el orden.
  2. strncmp limita la comparación a un prefijo.
  3. == entre dos char * compara direcciones, no contenidos.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
19
Caracteres a escribir
423
Tokens
140
Ritmo de tres estrellas
100 tpm

Al ritmo de tres estrellas de 100 tokens por minuto, este intento toma unos 84 segundos.

Escribe este fragmento

Paso 1 de 3 en Comparar y buscar; paso 5 de 13 en Cadenas y texto.

← Anterior Siguiente →