typestar

Recortar espacios en C

Recortar en el lugar: avanzar para el inicio, retroceder para el final.

char *trim(char *text) {
    while (isspace((unsigned char) *text)) {
        text++;
    }
    char *end = text + strlen(text);
    while (end > text && isspace((unsigned char) end[-1])) {
        end--;
    }
    *end = '\0';
    return text;
}

int is_blank(const char *text) {
    for (; *text; text++) {
        if (!isspace((unsigned char) *text)) {
            return 0;
        }
    }
    return 1;
}

Cómo funciona

  1. El espacio inicial se salta avanzando un puntero.
  2. El espacio final se quita escribiendo un NUL más temprano.
  3. Devolver el nuevo inicio evita copiar nada.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
20
Caracteres a escribir
325
Tokens
117
Ritmo de tres estrellas
100 tpm

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

Escribe este fragmento

Paso 3 de 3 en Dividir y parsear; paso 10 de 13 en Cadenas y texto.

← Anterior Siguiente →