C · Intermediário · Inglês · Técnico
errno
Variável de errno.h, local de cada thread, em que funções da biblioteca e do sistema gravam um código numérico de erro quando falham. Só é significativa logo após uma falha.
Onde usar
Depois de fopen devolver NULL, consulte errno, ou chame perror e strerror, para saber a causa. Funções que têm sucesso não zeram errno.
Em código
FILE *f = fopen("x", "r");
if (!f && errno == ENOENT)
puts("arquivo não existe");Exemplos
Read errno right after the failing call.
Leia errno logo depois da chamada que falhou.
errno is stale if the function succeeded.
O errno fica velho se a função deu certo.
Cuidado
Testar errno sem saber que a função falhou: o valor pode ser resto de uma chamada anterior.
Origem
Abreviação de error number.