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.