errno
Материал из cppreference.com
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google.
Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы |
| Определён в заголовочном файле <cerrno>
|
||
| #define errno /*implementation-defined*/ |
||
errno является препроцессором макрос, который расширяется до static(до C++11) / потока local(начиная с C++11) модифицируемые именующее из int типа. Несколько стандартных библиотечных функций указывают на ошибки в письменной форме натуральных чисел, чтобы errno. Как правило, стоимость errno установлен один из кодов ошибок, перечисленных в <cerrno> как макро-констант, которые начинаются с буквы E, после заглавных букв или цифр.Оригинал:
errno is a preprocessor macro that expands to a static(до C++11) / thread-local(начиная с C++11) modifiable lvalue of type int. Several standard library functions indicate errors by writing positive integers to errno. Typically, the value of errno is set to one of the error codes, listed in <cerrno> as macro constants that begin with the letter E, followed by uppercase letters or digits.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Значение
errno является 0 при запуске программы, и, хотя библиотечные функции могут писать натуральных чисел, чтобы errno или не ошибка, библиотечные функции никогда не храните 0 в errno.Оригинал:
The value of
errno is 0 at program startup, and although library functions are allowed to write positive integers to errno whether or not an error occurred, library functions never store 0 in errno.Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Пример
Запустить этот код
#include <iostream> #include <cmath> #include <cerrno> #include <cstring> int main() { double not_a_number = std::log(-1.0); if (errno == EDOM) { std::cout << "log(-1) failed: " << std::strerror(errno) << '\n'; } }
Вывод:
log(-1) failed: Numerical argument out of domain
[править] См. также
| макросы для стандартных POSIX-совместимых условий ошибки Оригинал: macros for standard POSIX-compatible error conditions Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (константа-макрос) | |
| выводит строку символов, соответствующая текущей ошибки stderr Оригинал: displays a character string corresponding of the current error to stderr Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |
| возвращает текстовую версию данного кода ошибки Оригинал: returns a text version of a given error code Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) | |

