close
Пространства имён
Варианты
Действия

Заголовочный файл стандартной библиотеки <cerrno>

Материал из cppreference.com
 
 
Заголовочные файлы стандартной библиотеки
Языковая поддержка
Концепты
<concepts> (C++20)
Диагностика
<system_error> (C++11)

Управление памятью
<memory_resource> (C++17)  
Метапрограммирование
<type_traits> (C++11)
<ratio> (C++11)
Общие утилиты
<utility>
<tuple> (C++11)
<optional> (C++17)
<variant> (C++17)
<any> (C++17)
<expected> (C++23)
<bitset>

<charconv> (C++17)
<format> (C++20)
<bit> (C++20)

Строки
<cuchar> (C++11)

Контейнеры
<flat_set> (C++23)
<span> (C++20)
<mdspan> (C++23)

Итераторы
<iterator>
Диапазоны
<ranges> (C++20)
<generator> (C++23)
Алгоритмы
Числа
<cfenv> (C++11)
<complex>
<numbers> (C++20)

Время
<chrono> (C++11)
Локализация
<codecvt> (C++11/17*)
Ввод/вывод
<filesystem> (C++17)
<cstdio>
<cinttypes> (C++11)
<strstream> (C++98*)
Регулярные выражения
<regex> (C++11)
Поддержка конкуренции
<stop_token> (C++20)
<thread> (C++11)
<atomic> (C++11)
<stdatomic.h> (C++23)
<mutex> (C++11)
<shared_mutex> (C++14)
<condition_variable> (C++11)  
<semaphore> (C++20)
<latch> (C++20)
<barrier> (C++20)
<future> (C++11)

Совместимость с C
<cstdbool> (C++11/17/20*)  
<ccomplex> (C++11/17/20*)
<ctgmath> (C++11/17/20*)

<cstdalign> (C++11/17/20*)

<ciso646> (до C++20)

 

Этот заголовочный файл изначально был в стандартной библиотеке C как <errno.h>.

Этот заголовок является частью библиотеки обработки ошибок.

Macros

макрос, который расширяется до переменной номера локальной ошибки потока, совместимой с POSIX
(macro variable) [править]
E2BIG
(C++11)
Список аргументов слишком длинный
(макроконстанта)
EACCES
(C++11)
Доступ запрещён
(макроконстанта)
EADDRINUSE
(C++11)
Адрес используется
(макроконстанта)
EADDRNOTAVAIL
(C++11)
Адрес недоступен
(макроконстанта)
EAFNOSUPPORT
(C++11)
Семейство адресов не поддерживается
(макроконстанта)
EAGAIN
(C++11)
Ресурс недоступен, попробуйте ещё раз
(макроконстанта)
EALREADY
(C++11)
Подключение уже выполняется
(макроконстанта)
EBADF
(C++11)
Неверный файловый дескриптор
(макроконстанта)
EBADMSG
(C++11)
Неверное сообщение
(макроконстанта)
EBUSY
(C++11)
Устройство или ресурс занят
(макроконстанта)
ECANCELED
(C++11)
Операция отменена
(макроконстанта)
ECHILD
(C++11)
Нет дочерних процессов
(макроконстанта)
ECONNABORTED
(C++11)
Соединение прервано
(макроконстанта)
ECONNREFUSED
(C++11)
В соединении отказано
(макроконстанта)
ECONNRESET
(C++11)
Соединения сброшено
(макроконстанта)
EDEADLK
(C++11)
Возникнет взаимоблокировка ресурсов
(макроконстанта)
EDESTADDRREQ
(C++11)
Требуется адрес назначения
(макроконстанта)
EDOM
Математический аргумент вне области действия функции
(макроконстанта)
EEXIST
(C++11)
Файл существует
(макроконстанта)
EFAULT
(C++11)
Неверный адрес
(макроконстанта)
EFBIG
(C++11)
Файл слишком большой
(макроконстанта)
EHOSTUNREACH
(C++11)
Хост недоступен
(макроконстанта)
EIDRM
(C++11)
Идентификатор удалён
(макроконстанта)
EILSEQ
Недопустимая последовательность байтов
(макроконстанта)
EINPROGRESS
(C++11)
Операция выполняется
(макроконстанта)
EINTR
(C++11)
Функция прервана
(макроконстанта)
EINVAL
(C++11)
Недействительный аргумент
(макроконстанта)
EIO
(C++11)
Ошибка Ввода/Вывода
(макроконстанта)
EISCONN
(C++11)
Сокет подключен
(макроконстанта)
EISDIR
(C++11)
Это каталог
(макроконстанта)
ELOOP
(C++11)
Слишком много уровней символических ссылок
(макроконстанта)
EMFILE
(C++11)
Слишком большое значение дескриптора файла
(макроконстанта)
EMLINK
(C++11)
Слишком много ссылок
(макроконстанта)
EMSGSIZE
(C++11)
Сообщение слишком большое
(макроконстанта)
ENAMETOOLONG
(C++11)
Имя файла слишком длинное
(макроконстанта)
ENETDOWN
(C++11)
Сеть не работает
(макроконстанта)
ENETRESET
(C++11)
Соединение прервано сетью
(макроконстанта)
ENETUNREACH
(C++11)
Сеть недоступна
(макроконстанта)
ENFILE
(C++11)
В системе открыто слишком много файлов
(макроконстанта)
ENOBUFS
(C++11)
Нет доступного буферного пространства
(макроконстанта)
ENODATA
(C++11) (устарело в C++23)
Нет доступных сообщений в очереди чтения заголовка STREAM
(макроконстанта)
ENODEV
(C++11)
Нет такого устройства
(макроконстанта)
ENOENT
(C++11)
Нет такого файла или каталога
(макроконстанта)
ENOEXEC
(C++11)
Ошибка формата исполняемого файла
(макроконстанта)
ENOLCK
(C++11)
Нет доступных блокировок
(макроконстанта)
ENOLINK
(C++11)
Ссылка была разорвана
(макроконстанта)
ENOMEM
(C++11)
Недостаточно пространства
(макроконстанта)
ENOMSG
(C++11)
Нет сообщения нужного типа
(макроконстанта)
ENOPROTOOPT
(C++11)
Протокол недоступен
(макроконстанта)
ENOSPC
(C++11)
На устройстве нет свободного места
(макроконстанта)
ENOSR
(C++11) (устарело в C++23)
Нет ресурсов STREAM
(макроконстанта)
ENOSTR
(C++11) (устарело в C++23)
Не STREAM
(макроконстанта)
ENOSYS
(C++11)
Функция не поддерживается
(макроконстанта)
ENOTCONN
(C++11)
Сокет не подключен
(макроконстанта)
ENOTDIR
(C++11)
Не каталог
(макроконстанта)
ENOTEMPTY
(C++11)
Каталог не пуст
(макроконстанта)
ENOTRECOVERABLE
(C++11)
Состояние не подлежит восстановлению
(макроконстанта)
ENOTSOCK
(C++11)
Не сокет
(макроконстанта)
ENOTSUP
(C++11)
Не поддерживается
(макроконстанта)
ENOTTY
(C++11)
Неправильная операция управления Вводом/Выводом
(макроконстанта)
ENXIO
(C++11)
Нет такого устройства или адреса
(макроконстанта)
EOPNOTSUPP
(C++11)
Операция не поддерживается на сокете
(макроконстанта)
EOVERFLOW
(C++11)
Значение слишком велико для сохранения в типе данных
(макроконстанта)
EOWNERDEAD
(C++11)
Предыдущий владелец мёртв
(макроконстанта)
EPERM
(C++11)
Операция не разрешена
(макроконстанта)
EPIPE
(C++11)
Сломанный канал
(макроконстанта)
EPROTO
(C++11)
Ошибка протокола
(макроконстанта)
EPROTONOSUPPORT
(C++11)
Протокол не поддерживается
(макроконстанта)
EPROTOTYPE
(C++11)
Неверный тип протокола для сокета
(макроконстанта)
ERANGE
Результат слишком большой
(макроконстанта)
EROFS
(C++11)
Файловая система только для чтения
(макроконстанта)
ESPIPE
(C++11)
Неверный seek
(макроконстанта)
ESRCH
(C++11)
Нет такого процесса
(макроконстанта)
ETIME
(C++11) (устарело в C++23)
Тайм-аут потока ioctl()
(макроконстанта)
ETIMEDOUT
(C++11)
Время соединения истекло
(макроконстанта)
ETXTBSY
(C++11)
Текстовый файл занят
(макроконстанта)
EWOULDBLOCK
(C++11)
Операция будет заблокирована
(макроконстанта)
EXDEV
(C++11)
Ссылка через устройство
(макроконстанта)

Примечание

Хотя заголовок <cerrno> основан на заголовке стандартной библиотеки C <errno.h>, большинство макросов, определённых <cerrno>, были приняты C++ из стандарта POSIX, а не из стандартной библиотеки C.

Резюме

#define errno /* смотри описание */
#define E2BIG /* смотри описание */           // автономная
#define EACCES /* смотри описание */          // автономная
#define EADDRINUSE /* смотри описание */      // автономная
#define EADDRNOTAVAIL /* смотри описание */   // автономная
#define EAFNOSUPPORT /* смотри описание */    // автономная
#define EAGAIN /* смотри описание */          // автономная
#define EALREADY /* смотри описание */        // автономная
#define EBADF /* смотри описание */           // автономная
#define EBADMSG /* смотри описание */         // автономная
#define EBUSY /* смотри описание */           // автономная
#define ECANCELED /* смотри описание */       // автономная
#define ECHILD /* смотри описание */          // автономная
#define ECONNABORTED /* смотри описание */    // автономная
#define ECONNREFUSED /* смотри описание */    // автономная
#define ECONNRESET /* смотри описание */      // автономная
#define EDEADLK /* смотри описание */         // автономная
#define EDESTADDRREQ /* смотри описание */    // автономная
#define EDOM /* смотри описание */            // автономная
#define EEXIST /* смотри описание */          // автономная
#define EFAULT /* смотри описание */          // автономная
#define EFBIG /* смотри описание */           // автономная
#define EHOSTUNREACH /* смотри описание */    // автономная
#define EIDRM /* смотри описание */           // автономная
#define EILSEQ /* смотри описание */          // автономная
#define EINPROGRESS /* смотри описание */     // автономная
#define EINTR /* смотри описание */           // автономная
#define EINVAL /* смотри описание */          // автономная
#define EIO /* смотри описание */             // автономная
#define EISCONN /* смотри описание */         // автономная
#define EISDIR /* смотри описание */          // автономная
#define ELOOP /* смотри описание */           // автономная
#define EMFILE /* смотри описание */          // автономная
#define EMLINK /* смотри описание */          // автономная
#define EMSGSIZE /* смотри описание */        // автономная
#define ENAMETOOLONG /* смотри описание */    // автономная
#define ENETDOWN /* смотри описание */        // автономная
#define ENETRESET /* смотри описание */       // автономная
#define ENETUNREACH /* смотри описание */     // автономная
#define ENFILE /* смотри описание */          // автономная
#define ENOBUFS /* смотри описание */         // автономная
#define ENODEV /* смотри описание */          // автономная
#define ENOENT /* смотри описание */          // автономная
#define ENOEXEC /* смотри описание */         // автономная
#define ENOLCK /* смотри описание */          // автономная
#define ENOLINK /* смотри описание */         // автономная
#define ENOMEM /* смотри описание */          // автономная
#define ENOMSG /* смотри описание */          // автономная
#define ENOPROTOOPT /* смотри описание */     // автономная
#define ENOSPC /* смотри описание */          // автономная
#define ENOSYS /* смотри описание */          // автономная
#define ENOTCONN /* смотри описание */        // автономная
#define ENOTDIR /* смотри описание */         // автономная
#define ENOTEMPTY /* смотри описание */       // автономная
#define ENOTRECOVERABLE /* смотри описание */ // автономная
#define ENOTSOCK /* смотри описание */        // автономная
#define ENOTSUP /* смотри описание */         // автономная
#define ENOTTY /* смотри описание */          // автономная
#define ENXIO /* смотри описание */           // автономная
#define EOPNOTSUPP /* смотри описание */      // автономная
#define EOVERFLOW /* смотри описание */       // автономная
#define EOWNERDEAD /* смотри описание */      // автономная
#define EPERM /* смотри описание */           // автономная
#define EPIPE /* смотри описание */           // автономная
#define EPROTO /* смотри описание */          // автономная
#define EPROTONOSUPPORT /* смотри описание */ // автономная
#define EPROTOTYPE /* смотри описание */      // автономная
#define ERANGE /* смотри описание */          // автономная
#define EROFS /* смотри описание */           // автономная
#define ESPIPE /* смотри описание */          // автономная
#define ESRCH /* смотри описание */           // автономная
#define ETIMEDOUT /* смотри описание */       // автономная
#define ETXTBSY /* смотри описание */         // автономная
#define EWOULDBLOCK /* смотри описание */     // автономная
#define EXDEV /* смотри описание */           // автономная

Отчёты о дефектах

Следующие изменения поведения были применены с обратной силой к ранее опубликованным стандартам C++:

Номер Применён Поведение в стандарте Корректное поведение
LWG 288 C++98 макрос EILSEQ не был определён в <cerrno> определён

Смотрите также