Библиотека ввода/вывода
|
|
Эта страница была переведена автоматически с английской версии вики используя Переводчик Google.
Перевод может содержать ошибки и странные формулировки. Наведите курсор на текст, чтобы увидеть оригинал. Вы можете помочь в исправлении ошибок и улучшении перевода. Для инструкций перейдите по ссылке. Щёлкните здесь, чтобы увидеть английскую версию этой страницы |
C++ включает две библиотеки ввода/вывода: современную, основанную на потоках библиотеку и стандартный набор функций в C-стиле.
Содержание |
[править] Ввод/вывод на основе потоков
Библиотека ввода/вывода на основе потоков организована вокруг абстрактных устройств ввода/вывода. Эти абстрактные устройства позволяют использовать одинаковый код для организации ввода/вывода для файлов, памяти или специальных адаптеров устройств, выполняющих произвольные операции (например сжатие) на лету.
Большинство классов шаблонизированы, поэтому они могут быть адаптированы к любым основным символьным типам. Отдельные определения типов предназначены для самых распространенных символьных типов (char и wchar_t). Классы организованы в следующей иерархии:
Абстрактные | |
| управляет флагами форматирования и исключениями ввода/вывода (класс) | |
| управляет произвольным буфером потока Оригинал: manages an arbitrary stream buffer Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) | |
| абстракция реального устройства (шаблон класса) | |
| обертка данного абстрактного устройства (std::basic_streambuf), обеспечивает высокий уровень интерфейса ввода (шаблон класса) | |
| обертка данного абстрактного устройства (std::basic_streambuf), обеспечивает высокий уровень интерфейса вывода (шаблон класса) | |
| обертка данного абстрактного устройства (std::basic_streambuf), обеспечивает высокий уровень интерфейс ввода/вывода (шаблон класса) | |
реализация файлового ввода/вывода | |
| реализует простое файловое устройство Оригинал: implements raw file device Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) | |
| реализует высокоуровневые операции ввода для потока на файле Оригинал: implements high-level file stream input operations Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) | |
| реализует высокоуровневые операции вывода для потока на файле Оригинал: implements high-level file stream output operations Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) | |
| реализует высокоуровневые операций ввода/вывода для потока на файле Оригинал: implements high-level file stream input/output operations Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) | |
Реализация строкового ввода/вывода | |
| Реализует простое строковое устройство Оригинал: implements raw string device Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) | |
| реализует высокоуровневые операции ввода для потока на строке Оригинал: implements high-level string stream input operations Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) | |
| реализует высокоуровневые операции вывода для потока на строке Оригинал: implements high-level string stream output operations Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) | |
| реализует высокоуровневые операции ввода/вывода для потока на строке Оригинал: implements high-level string stream input/output operations Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) | |
Реализация ввода/вывода для массивов | |
| (устарело) |
Реализует простое устройство на массиве символов Оригинал: implements raw character array device Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (класс) |
| (устарело) |
реализует высокоуровневые операции ввода на массиве символов Оригинал: implements character array input operations Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (класс) |
| (устарело) |
реализует высокоуровневые операции вывода на массиве символов Оригинал: implements character array output operations Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (класс) |
| (устарело) |
реализует высокоуровневые операции ввода/вывода на массиве символов Оригинал: implements character array input/output operations Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (класс) |
[править] Typedefs
Предоставляются следующие определения для основных символьных типов:
typedef basic_ios<char> ios; typedef basic_ios<wchar_t> wios; typedef basic_streambuf<char> streambuf; typedef basic_streambuf<wchar_t> wstreambuf; typedef basic_filebuf<char> filebuf; typedef basic_filebuf<wchar_t> wfilebuf; typedef basic_stringbuf<char> stringbuf; typedef basic_stringbuf<wchar_t> wstringbuf; typedef basic_istream<char> istream; typedef basic_istream<wchar_t> wistream; typedef basic_ostream<char> ostream; typedef basic_ostream<wchar_t> wostream; typedef basic_iostream<char> iostream; typedef basic_iostream<wchar_t> wiostream; typedef basic_ifstream<char> ifstream; typedef basic_ifstream<wchar_t> wifstream; typedef basic_ofstream<char> ofstream; typedef basic_ofstream<wchar_t> wofstream; typedef basic_fstream<char> fstream; typedef basic_fstream<wchar_t> wfstream; typedef basic_istringstream<char> istringstream; typedef basic_istringstream<wchar_t> wistringstream; typedef basic_ostringstream<char> ostringstream; typedef basic_ostringstream<wchar_t> wostringstream; typedef basic_stringstream<char> stringstream; typedef basic_stringstream<wchar_t> wstringstream;
Предопределенные объекты стандартных потоков:
extern istream cin; //standard input (stdin) extern wistream wcin; extern ostream cout; //standard output (stdout) extern wostream wcout; extern ostream cerr; //standard error (stderr) extern wostream wcerr; extern ostream clog; //standard log (stdlog) extern wostream wclog;
[править] I/O манипуляторы
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
[править] Типы
Определены следующие вспомогательные типы
| Заголовочный файл
<ios> | |
| представляет собой относительную файла/потока позицию (смещение от FPOS), достаточную для представления любого размера файла Оригинал: represents relative file/stream position (offset from fpos), sufficient to represent any file size Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (определение типа) | |
| представляет собой количество символов передаваемых в операции ввода/вывода или размер буфера ввода/вывода Оригинал: represents the number of characters transferred in an I/O operation or the size of an I/O buffer Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (определение типа) | |
| представляет собой абсолютную позицию в потоке или файле (шаблон класса) | |
Предоставляются четыре специализации std::fpos:
| Заголовочный файл
<ios> | |
| Тип | Definition |
streampos
|
std::fpos<std::char_traits<char>::state_type> |
u16streampos
|
std::fpos<std::char_traits<char16_t>::state_type> |
u32streampos
|
std::fpos<std::char_traits<char32_t>::state_type> |
wstreampos
|
std::fpos<std::char_traits<wchar_t>::state_type> |
[править] Интерфейс категорий ошибок
| Заголовочный файл
<ios> | |
| (C++11) |
IO коды поток ошибок Оригинал: the IO stream error codes Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (перечисление) |
| (C++11) |
определяет категорию IOStream ошибки Оригинал: identifies the iostream error category Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |
[править] C-стиль ввода-вывода
C + + также включает в себя функции ввода/вывода, определенные в C, такие как std::fopen, std::getc, и т.д.
