strError, _strerror, _wcserror, __wcserror
Obter uma mensagem de erro do sistema (strerror, _wcserror) ou imprime uma mensagem de erro fornecida pelo usuário (_strerror, __wcserror).Versões mais seguras dessas funções estão disponíveis; see strerror_s, _strerror_s, _wcserror_s, __wcserror_s .
char *strerror(
int errnum
);
char *_strerror(
const char *strErrMsg
);
wchar_t * _wcserror(
int errnum
);
wchar_t * __wcserror(
const wchar_t *strErrMsg
);
Parâmetros
errnum
Número de ErrostrErrMsg
Mensagem fornecido pelo usuário.
Valor de retorno
Todas essas funções retornam um ponteiro para a seqüência de mensagem de erro.As chamadas subseqüentes podem substituir a seqüência de caracteres.
Comentários
O strerror funcionarem mapas errnum para uma seqüência de mensagem de erro, retornando um ponteiro para a seqüência de caracteres.Nem strerror nem _strerror , na verdade, imprime a mensagem: para isso, você precisa chamar uma função de saída, como fprintf:
if (( _access( "datafile",2 )) == -1 )
fprintf( stderr, _strerror(NULL) );
Se strErrMsg é passado como NULL, _strerror retorna um ponteiro para uma seqüência de caracteres que contém a mensagem de erro do sistema para a última chamada de biblioteca que produziu um erro.A seqüência de caracteres de mensagem de erro é terminada por caractere de nova linha ('\n').Se strErrMsg não é igual a NULL, em seguida, _strerror retorna um ponteiro para uma seqüência de caracteres que contém (em ordem), sua mensagem de seqüência de caracteres, dois-pontos, um espaço, a mensagem de erro do sistema para a última chamada de biblioteca, produzindo um erro e um caractere de nova linha.Sua mensagem de seqüência de caracteres pode ter como 94 caracteres, no máximo.
O número de erro real para _strerror é armazenado na variável errno.As mensagens de erro do sistema são acessadas através da variável _sys_errlist, que é uma matriz de mensagens ordenadas por número de erro._strerroracesse a mensagem de erro apropriado usando a errno o valor como um índice para a variável _sys_errlist.O valor da variável _sys_nerr é definido como o número máximo de elementos de _sys_errlist array.Para produzir resultados precisos, chame _strerror imediatamente após uma rotina de biblioteca retorna com um erro.Caso contrário, subseqüentes chamadas para strerror ou _strerror pode substituir o errno valor.
_wcserrore __wcserrorsão versões de caractere largo de strerrore _strerror, respectivamente.
_strerror, _wcserror, e __wcserrornão fazem parte da definição do ANSI, mas em vez disso, são extensões do Microsoft.Não use-os onde a portabilidade for desejada; para compatibilidade com ANSI, use strerror em vez disso.
Mapeamentos de rotina de texto genérico
TCHAR.Rotina H |
_ Unicode & _ MBCS do arquivo não definido |
_ MBCS do arquivo definido |
_ Unicode definido |
---|---|---|---|
_tcserror |
strerror |
strerror |
_wcserror |
Requisitos
Rotina |
Cabeçalho necessário |
---|---|
strerror |
<string.h> |
_strerror |
<string.h> |
_wcserror, __wcserror |
<string.h> |
Para obter informações adicionais de compatibilidade, consulte compatibilidade na introdução.
Exemplo
Consulte o exemplo para perror.