typestar

Códigos de error y parámetros de salida en C

La convención de C: retornar éxito o falla y entregar el valor a través de un puntero.

#include <stdlib.h>
#include <string.h>

int parse_pair(const char *text, int *first, int *second) {
    if (text == NULL || first == NULL || second == NULL) {
        return 0;
    }
    const char *comma = strchr(text, ',');
    if (comma == NULL) {
        return 0;
    }
    *first = atoi(text);
    *second = atoi(comma + 1);
    return 1;
}

int use_it(void) {
    int a = 0;
    int b = 0;
    if (!parse_pair("3,4", &a, &b)) {
        return -1;
    }
    return a * b;
}

Cómo funciona

  1. Cero o negativo para la falla mantiene el chequeo uniforme.
  2. El parámetro de salida solo se escribe en el éxito.
  3. Quien llama puede encadenar chequeos sin anidar profundo.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
24
Caracteres a escribir
404
Tokens
138
Ritmo de tres estrellas
100 tpm

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

Escribe este fragmento

Paso 1 de 4 en Firmas; paso 1 de 11 en APIs, errores y pruebas.

Siguiente →