Errno.h

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Archivo de encabezado para programas C

errno.h es un archivo de encabezado en la biblioteca estándar del lenguaje de programación C. Define macros para informar y recuperar condiciones de error utilizando el símbolo errno (abreviatura de "número de error").

errno actúa como una variable entera. Ciertas funciones de la biblioteca almacenan un valor (el número de error) en errno cuando detectan errores. Al iniciar el programa, el valor almacenado es cero. Las funciones de biblioteca almacenan sólo valores mayores que cero. Cualquier función de biblioteca puede alterar el valor almacenado antes del retorno, detecte o no errores. La mayoría de las funciones indican que detectaron un error al devolver un valor especial, normalmente NULL para funciones que devuelven punteros y -1 para funciones que devuelven números enteros. Algunas funciones requieren que la persona que llama preestablezca errno en cero y lo pruebe después para ver si se detectó un error.

La macro errno se expande a un valor l con tipo int, a veces con extern y/o volatile especificadores de tipo dependiendo de la plataforma. Originalmente, esta era una ubicación de memoria estática, pero hoy en día casi siempre se usan macros para permitir subprocesos múltiples, de modo que cada subproceso vea su propio número de error local de subproceso.

El archivo de encabezado también define macros que se expanden a constantes enteras que representan los códigos de error. La biblioteca estándar de C sólo requiere que se definan tres:

EDOM

Resultados de un parámetro fuera del dominio de una función, por ejemplo. sqrt(-1)

RANGO

Resultados de un resultado fuera del rango de una función, por ejemplo. strtol("0xfffffffff", NULL, 0) en sistemas de 32 bits de ancho long

EILSEQ (Requerido desde 1994 Enmienda 1 al estándar C89)

Resultados de una secuencia de byte ilegal, por ejemplo. mbstowcs(buf, "xff", 1) en sistemas que usan UTF-8.

Los sistemas operativos compatibles con POSIX como AIX, Linux o Solaris incluyen muchos otros valores de error, muchos de los cuales se utilizan con mucha más frecuencia que los anteriores, como EACCES cuando un archivo no se puede abrir durante lectura. C++ 11 define además muchos de los mismos valores que se encuentran en la especificación POSIX.

Tradicionalmente, la primera página de los manuales del sistema Unix, denominada intro(2), enumera todas las macros errno.h, pero este no es el caso de Linux, donde estas macros se enumeran en errno(3).

Un errno se puede traducir a un texto descriptivo. cadena usando strerror (definido en string.h) o una extensión BSD llamada sys_errlist. La traducción se puede imprimir directamente en el flujo de error estándar usando perror (definido en stdio.h). Como strerror en muchos sistemas tipo Unix no es un subproceso -safe, se utiliza una versión segura para subprocesos strerror_r, pero las definiciones contradictorias de POSIX y GNU lo hacen incluso menos portátil que tabla sys_errlist.

Contenido relacionado

Matra Alicia

El Matra & Hachette Ordinateur Alice es una computadora doméstica vendida en Francia a partir de 1983. Era un clon del TRS-80 MC-10, producido a través...

Exim

Exim es un agente de transferencia de correo utilizado en sistemas operativos similares a Unix. Exim es software libre distribuido bajo los términos de la...

EBurro2000

eDonkey2000 era una aplicación de intercambio de archivos punto a punto desarrollada por la empresa estadounidense MetaMachine utilizando Multisource File...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save