Sdílet prostřednictvím


strerror, _strerror, _wcserror, __wcserror

Získá řetězec chybové zprávy systému (strerror, _wcserror) nebo formáty řetězec uživatelem zadané chybové zprávy (_strerror, __wcserror).K dispozici jsou bezpečnější verze těchto funkcí, viz 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  );

Parametry

  • errnum
    Číslo chyby.

  • strErrMsg
    Uživatelem zadané zprávy.

Vrácená hodnota

Všechny tyto funkce vrací ukazatel na řetězec chybovou zprávu.Následující volání lze přepsat řetězec.

Poznámky

strerror Funkce maps errnum na řetězec chybových zpráv a vrací ukazatel na řetězec.Ani strerror ani _strerror ve skutečnosti vytiskne zpráva:, je nutné pro volání funkce jazyka výstupu, jako je například fprintf:

if (( _access( "datafile",2 )) == -1 )
   fprintf( stderr, _strerror(NULL) );

Pokud strErrMsg je předán jako NULL, _strerror vrací ukazatel na řetězec, který obsahuje chybovou zprávu systému pro posledního volání knihovny, které je chyba.Chybová zpráva řetězec je ukončena znakem (\n).Pokud strErrMsg není rovno NULL, pak _strerror vrací ukazatel na řetězec, který obsahuje (v pořadí) ve zprávě řetězec, středník, mezeru, chybová zpráva systému pro posledního volání knihovny, které vytvoří chybu a znaku.Řetězce zprávy může mít maximálně 94 znaků.

Číslo chyby pro _strerror je uložena v proměnné kód chyby.Chcete-li vytvořit přesné výsledky, volejte _strerror okamžitě poté, co rutiny knihoven vrátí chybu.V opačném případě následných volání strerror nebo _strerror lze přepsat errno hodnotu.

_wcserrora __wcserror jsou verze širokého znaku strerror a _strerror, v tomto pořadí.

_strerror, _wcserror, a __wcserror nejsou součástí definice ANSI; jsou rozšíření od společnosti Microsoft a společnost Microsoft doporučuje, že je velmi riskantní používat jejich místo, kam chcete přenosných kódu.Z důvodu kompatibility ANSI použít strerror místo.

Chcete-li získat chyba řetězce, doporučujeme, abyste strerror nebo _wcserror namísto nepoužívané makra _sys_errlist a _sys_nerr a nepoužívané vnitřní funkce __sys_errlist a __sys_nerr.

Mapování rutin obecného textu

Rutina TCHAR.H

_UNICODE & _MBCS není definována.

_MBCS definováno

_UNICODE definováno

_tcserror

strerror

strerror

_wcserror

Požadavky

Rutina

Požadovaný hlavičkový soubor

strerror

< string.h >

_strerror

< string.h >

_wcserror, __wcserror

< string.h >

Další informace o kompatibilitě, naleznete v části Kompatibilita.

Příklad

Podívejte se na příklad pro perror.

Ekvivalent v rozhraní .NET Framework

System::Exception::Message

Viz také

Referenční dokumentace

Zacházení s řetězci (CRT)

clearerr

ferror

perror, _wperror