strerror, _strerror, _wcserror, __wcserror
Pobiera ciąg z komunikatem o system (strerror, _wcserror) lub Formatuje ciąg z komunikatem o dostarczane przez użytkownika (_strerror, __wcserror).Dostępne są bezpieczniejsze wersje tych funkcji, zobacz 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
Numer błędu.strErrMsg
Komunikat dostarczane przez użytkownika.
Wartość zwracana
Wszystkie te funkcje zwracać wskaźnik do ciągu komunikat o błędzie.Kolejne wywołania można zastąpić ten ciąg.
Uwagi
strerror Funkcję map errnum na ciąg komunikat o błędzie i zwraca wskaźnik do ciągu.Ani strerror ani _strerror faktycznie wyświetla komunikat:, które zostały wywołania funkcji wyjściowych, takich jak fprintf:
if (( _access( "datafile",2 )) == -1 )
fprintf( stderr, _strerror(NULL) );
Jeśli strErrMsg jest przekazywany jako NULL, _strerror zwraca wskaźnik do ciąg, który zawiera komunikat o błędzie systemu ostatniego połączenia biblioteki, który powoduje błąd.Ten ciąg komunikat o błędzie zostaje zakończone przez znaku nowego wiersza ("\n").Jeśli strErrMsg nie jest równa NULL, następnie _strerror zwraca wskaźnik na ciąg, który zawiera (w kolejności) umieścić ciąg, dwukropka, spację, komunikat o błędzie systemu ostatniego połączenia biblioteki, który powoduje błąd i znaku nowego wiersza.Wiadomości ciąg może zawierać maksymalnie 94 znaków.
Numer błędu dla _strerror jest przechowywana w zmiennej numer błędu.Aby uzyskać dokładne wyniki, należy wywołać _strerror natychmiast po, procedury biblioteki zwraca błąd.W przeciwnym razie kolejnych wywołań strerror lub _strerror można zastąpić errno wartość.
_wcserrori __wcserror są wersjami całego znaku strerror i _strerrorodpowiednio.
_strerror, _wcserror, i __wcserror nie są częścią definicji ANSI; są one rozszerzenia Microsoft i firma Microsoft zaleca, aby używać ich miejscu kod przenośny.Zgodność ANSI, użyj strerror zamiast niego.
Można pobrać ciągów błędów, zaleca się strerror lub _wcserror zamiast makra przestarzały _sys_errlist i _sys_nerr i przestarzałe funkcji wewnętrznych __sys_errlist i __sys_nerr.
Mapowania procedur zwykłego tekstu
Procedura TCHAR.H |
_UNICODE & _MBCS nie zdefiniowano |
_MBCS zdefiniowano |
_UNICODE zdefiniowano |
---|---|---|---|
_tcserror |
strerror |
strerror |
_wcserror |
Wymagania
Procedura |
Wymagany nagłówek |
---|---|
strerror |
< string.h > |
_strerror |
< string.h > |
_wcserror, __wcserror |
< string.h > |
Aby uzyskać dodatkowe informacje o zgodności, zobacz Zgodność.
Przykład
Zobacz przykład dla perror.