strerror, _strerror, _wcserror, __wcserror

Получено сообщение об ошибке системы (strerror" _wcserror) или типом (передаваемый пользователем сообщение об ошибке_strerror" __wcserror).Более безопасные версии этих функций доступны; см. 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 
);

Параметры

  • errnum
    Номер ошибки.

  • strErrMsg
    Передаваемый пользователем сообщение.

Возвращаемое значение

Все эти функции возвращают указатель на строку сообщения об ошибке.Последующие вызовы могут перезаписать строку.

Заметки

strerror сопоставления функции errnum в строку сообщения об ошибке, возвращая указатель на строку.Ни одного strerror ни _strerror фактически печатает сообщение: Для этого необходимо вызвать функцию как output fprintf.

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

If strErrMsg передает как NULL" _strerror возвращает указатель на строку, содержащую сообщение об ошибке системы для последнего вызова библиотеки, вызвавшего ошибку.Строка сообщения об ошибке завершается символом перевода строки (\ n ").If strErrMsg не равно NULLпосле этого _strerror возвращает указатель на строку, содержащую (в порядке сообщения строки), двоеточие, пробел, сообщение о системной ошибке для последнего вызова библиотеки формирование ошибку, а символ перевода строки.Ваше сообщение строки может быть не более 94 символов.

Фактический номер ошибки _strerror хранит в переменной errno.Системные сообщения об ошибках осуществляется через переменную _sys_errlistмассив сообщений, приказал номеру ошибки._strerror обращается к соответствующее сообщение об ошибке с помощью errno значение переменной в качестве индекса _sys_errlist.Значение переменной _sys_nerr определяет, как максимальное количество элементов в _sys_errlist массив.Предоставить явные вызов _strerror сразу после библиотечная процедура возвращает с ошибкой.В противном случае последующие вызовы strerror OR _strerror можно переписать errno значения.

_wcserrorи __wcserrorверсия расширенных символов strerrorи _strerrorсоответственно.

_strerror" _wcserrorи __wcserrorне находится часть определения ANSI вместо этого расширения microsoft.Не используйте их где переносимость пожелана; для совместимости ANSI, используйте strerror вместо этого.

Сопоставления подпрограммы Родов-Текста

Подпрограмма TCHAR.H

_MBCS не заданные _UNICODE &

Указанный символ _MBCS

Указанный _UNICODE

_tcserror

strerror

strerror

_wcserror

Требования

Процедура

Обязательный заголовок

strerror

<string.h>

_strerror

<string.h>

_wcserror, __wcserror

<string.h>

Дополнительные сведения о совместимости см. Совместимость во введении.

Пример

См. пример perror.

Эквивалент в .NET Framework

System:: исключение:: Сообщение

См. также

Ссылки

Управление строками (CRT)

clearerr

ferror

perror, _wperror