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

Библиотека ввода/вывода

Материал из cppreference.com
< cpp


 
 
Библиотеки ввода / вывода
I / O манипуляторов
C-стиль I / O
Буферы
Оригинал:
Buffers
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
basic_streambuf
basic_filebuf
basic_stringbuf
strstreambuf(устарело)
Потоки
Оригинал:
Streams
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Абстракций
Оригинал:
Abstractions
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
ios_base
basic_ios
basic_istream
basic_ostream
basic_iostream
Файл I / O
Оригинал:
File I/O
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
basic_ifstream
basic_ofstream
basic_fstream
Струнный I / O
Оригинал:
String I/O
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
basic_istringstream
basic_ostringstream
basic_stringstream
Массив I / O
Оригинал:
Array I/O
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
istrstream(устарело)
ostrstream(устарело)
strstream(устарело)
Типы
Оригинал:
Types
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
streamoff
streamsize
fpos
Интерфейс Ошибка категории
Оригинал:
Error category interface
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
iostream_category(C++11)
io_errc(C++11)
 

C++ включает две библиотеки ввода/вывода: современную, основанную на потоках библиотеку и стандартный набор функций в C-стиле.

Содержание

[править] Ввод/вывод на основе потоков

Библиотека ввода/вывода на основе потоков организована вокруг абстрактных устройств ввода/вывода. Эти абстрактные устройства позволяют использовать одинаковый код для организации ввода/вывода для файлов, памяти или специальных адаптеров устройств, выполняющих произвольные операции (например сжатие) на лету.

Большинство классов шаблонизированы, поэтому они могут быть адаптированы к любым основным символьным типам. Отдельные определения типов предназначены для самых распространенных символьных типов (char и wchar_t). Классы организованы в следующей иерархии:

cpp/io/ios basecpp/io/basic ioscpp/io/basic istreamcpp/io/basic ifstreamcpp/io/basic istringstreamcpp/io/basic ostreamcpp/io/basic ofstreamcpp/io/basic ostringstreamcpp/io/basic fstreamcpp/io/basic stringstreamcpp/io/basic iostreamstd-io-complete-inheritance.svg
Описание изображения

Диаграмма наследования

Абстрактные
управляет флагами форматирования и исключениями ввода/вывода
(класс)
управляет произвольным буфером потока
Оригинал:
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 манипуляторы

Потоковая
Оригинал:
stream-based
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
библиотека ввода/вывода использует I/O манипуляторы (например, std::boolalpha, std::hex и т.д.) для управления поведением потоков.

[править] Типы

Определены следующие вспомогательные типы

Заголовочный файл <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.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(перечисление) [править]
определяет категорию IOStream ошибки
Оригинал:
identifies the iostream error category
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(функция) [править]

[править] C-стиль ввода-вывода

C + + также включает в себя функции ввода/вывода, определенные в C, такие как std::fopen, std::getc, и т.д.