typestar

errno y perror en C

Cuando una llamada falla, errno dice por qué, y perror lo imprime con tu prefijo.

#include <errno.h>
#include <stdio.h>
#include <string.h>

int open_or_report(const char *path) {
    errno = 0;
    FILE *f = fopen(path, "r");
    if (f == NULL) {
        perror("fopen");
        fprintf(stderr, "  (%s: %s)\n", path, strerror(errno));
        return 0;
    }
    fclose(f);
    return 1;
}

Cómo funciona

  1. Pon errno en cero antes de la llamada que piensas probar.
  2. perror escribe a stderr; strerror te da el texto.
  3. Solo revisa errno después de una llamada que reportó falla.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
15
Caracteres a escribir
261
Tokens
80
Ritmo de tres estrellas
100 tpm

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

Escribe este fragmento

Paso 3 de 3 en Posicionamiento y streams; paso 11 de 12 en Archivos y E/S.

← Anterior Siguiente →