Compartilhar via


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 Erro

  • strErrMsg
    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.

Equivalência do .NET Framework

System::Exception::Message

Consulte também

Referência

Manipulação de cadeia de caracteres (CRT)

clearerr

ferror

perror, _wperror