Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Macros globais que contêm códigos de erro definidos durante a execução do programa e equivalentes de cadeia de caracteres dos códigos de erro para exibição.
Sintaxe
#define errno (*_errno())
#define _doserrno (*__doserrno())
#define _sys_errlist (__sys_errlist())
#define _sys_nerr (*__sys_nerr())
Observações
Ambos errno e _doserrno são definidos como 0 pelo tempo de execução durante a inicialização do programa.
errno está definido como um erro em uma chamada no nível do sistema. Como errno mantém o valor da última chamada que o definiu, esse valor pode ser alterado por chamadas subsequentes. As chamadas de biblioteca em tempo de execução definidas errno como um erro não são claras errno quanto ao êxito. Sempre limpe errno ligando _set_errno(0) imediatamente antes de uma chamada que pode defini-la e verifique-a imediatamente após a chamada.
Em um erro, errno não é necessariamente definido com o mesmo valor que o código de erro retornado por uma chamada do sistema. Para operações de E/S, _doserrno armazena os equivalentes de código de erro do sistema operacional de errno códigos. Para a maioria das operações que não são de E/S, o valor de _doserrno não está definido.
Cada errno valor é associado a uma mensagem de erro que _sys_errlist pode ser impressa usando uma das funções ou armazenada em uma cadeia de perror caracteres usando uma das strerror funções ou strerror_s . As perror funções e strerror usam a _sys_errlist matriz e _sys_nerr—o número de elementos em _sys_errlist—para processar informações de erro. O acesso direto a _sys_errlist e _sys_nerr é preterido por motivos de segurança de código. Recomendamos que você use as versões mais seguras e funcionais em vez das macros globais, conforme mostrado aqui:
| Macro global | Equivalentes funcionais |
|---|---|
_doserrno |
_get_doserrno, _set_doserrno |
errno |
_get_errno, _set_errno |
_sys_errlist, _sys_nerr |
strerror_s, _strerror_s, _wcserror_s, __wcserror_s |
Rotinas matemáticas da biblioteca definidas errno por chamada _matherr. Para lidar com erros matemáticos de forma diferente, escreva sua própria rotina de acordo com a descrição de _matherr referência e nomeie-a _matherr.
Todos os errno valores são constantes predefinidas no <errno.h>, e são compatíveis com UNIX. Apenas ERANGE, EILSEQe EDOM são especificados na norma ISO C99. Para obter uma lista completa, consulte errno constantes.
Requerimentos
| Macro global | Cabeçalho obrigatório | Cabeçalho opcional |
|---|---|---|
errno |
<errno.h> ou <stdlib.h>, <cerrno> ou <cstdlib> (C++) |
|
_doserrno, _sys_errlist, _sys_nerr |
<stdlib.h>, <cstdlib> (C++) |
<errno.h>, <cerrno> (C++) |
O _doserrno, _sys_errliste _sys_nerr macros são extensões da Microsoft. Para obter mais informações sobre compatibilidade, consulte Compatibilidade.
Consulte também
Variáveis globais
errno constantes
perror, _wperror
strerror, _strerror, _wcserror, __wcserror
strerror_s, _strerror_s, _wcserror_s, __wcserror_s
_get_doserrno
_set_doserrno
_get_errno
_set_errno