div
eof
Развернуть Свернуть
Данная статья переведена автоматически. Наведите указатель мыши на предложения статьи, чтобы просмотреть исходный текст. Дополнительные сведения.
Перевод
Текст оригинала
Эта тема еще не получила оценку - Оценить эту тему

perror, _wperror

Напечатать сообщение об ошибке.

void perror(
   const char *string 
);
void _wperror(
   const wchar_t *string 
);
string

Строковое сообщение, которое необходимо вывести на печать.

perror функция выводит сообщение об ошибке stderr. _wperror версия расширенных символов _perror; string аргумент _wperror строка символов. _wperror и _perror поступайте совпадают, в противном случае.

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

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

_UNICODE и _MBCS не заданы

_MBCS задан

_UNICODE задан

_tperror

perror

perror

_wperror

string печатает во-первых, за которым следует двоеточие, то сообщение об ошибке системы для последнего вызова библиотеки, вызвавшего ошибку, и наконец символом новой строки. If string указатель null или указатель на строку со значением NULL perror печатает только сообщение об ошибке системы.

Номер ошибки, хранящийся в переменной errno (определенное в ERRNO.H). Системные сообщения об ошибках осуществляется через переменную _sys_errlistмассив сообщений, приказал номеру ошибки. perror выводится соответствующее сообщение об ошибке с помощью errno значение в качестве индекса на _sys_errlist. Значение переменной _sys_nerr определяет, как максимальное количество элементов в _sys_errlist массив.

Точные результаты вызова perror сразу после библиотечная процедура возвращает с ошибкой. В противном случае последующие вызовы могут перезапись errno значения.

В операционной системе windows, некоторые errno значения, перечисленные в ERRNO.H неиспользуемый. Эти значения зарезервировано для использования операционной системой UNIX. См. _doserrno, errno, _sys_errlist и _sys_nerr для списка errno значения, используемые операционной системы windows. perror выводит пустую строку для любых errno это значение не используется такими платформами.

Процедура

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

perror

<stdio.h> OR <stdlib.h>

_wperror

<stdio.h> или <wchar.h>

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

Библиотеки

// crt_perror.c
// compile with: /W3
/* This program attempts to open a file named
 * NOSUCHF.ILE. Because this file probably doesn't exist,
 * an error message is displayed. The same message is
 * created using perror, strerror, and _strerror.
 */

#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <io.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <share.h>

int main( void )
{
   int  fh;

   if( _sopen_s( &fh, "NOSUCHF.ILE", _O_RDONLY, _SH_DENYNO, 0 ) != 0 )
   {
      /* Three ways to create error message: */
      perror( "perror says open failed" );
      printf( "strerror says open failed: %s\n",
         strerror( errno ) ); // C4996
      printf( _strerror( "_strerror says open failed" ) ); // C4996
      // Note: strerror and _strerror are deprecated; consider
      // using strerror_s and _strerror_s instead.
   }
   else
   {
      printf( "open succeeded on input file\n" );
      _close( fh );
   }
}
perror says open failed: No such file or directory
strerror says open failed: No such file or directory
_strerror says open failed: No such file or directory

Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

Была ли вам полезна эта информация?
(1500 символов осталось)

Добавления сообщества

ДОБАВИТЬ
© 2013 Microsoft. Все права защищены.