open - C++: ¿Qué es un stream?
ofstream c++ example (4)
He estado escuchando sobre la transmisión, más específicamente las secuencias de archivos.
Entonces, ¿qué son?
¿Es algo que tiene una ubicación en la memoria?
¿Es algo que contiene datos?
¿Es solo una conexión entre un archivo y un objeto?
Cualquier ayuda sería apreciada
El sistema de archivos está diseñado para funcionar con una amplia variedad de dispositivos, incluidos terminales, unidades de disco, unidades de cinta, etc. Aunque cada dispositivo es diferente, el sistema de archivos se transforma en un dispositivo lógico llamado flujo. Las transmisiones son independientes del dispositivo, por lo que se puede utilizar la misma función para escribir un archivo de disco y un archivo de cinta. En términos más técnicos, el flujo proporciona una abstracción entre el programador y el dispositivo real que se está utilizando.
El término flujo es una abstracción de una construcción que le permite enviar o recibir un número desconocido de bytes. La metáfora es una corriente de agua. Usted toma los datos como vienen, o los envía según sea necesario. Contraste esto con una matriz, por ejemplo, que tiene una longitud fija conocida.
Los ejemplos en los que se usan flujos incluyen leer y escribir en archivos, recibir o enviar datos a través de una conexión externa. Sin embargo, el término flujo es genérico y no dice nada sobre la implementación específica.
Stream es una cola lineal que conecta un archivo al programa y mantiene el flujo de datos en ambas direcciones. Aquí la fuente es cualquier archivo, dispositivo de E / S, disco duro, CD / DVD, etc.
Básicamente la secuencia es si dos tipo 1.Text Stream 2.Binary stream
Transmisión de texto: es una secuencia de caracteres organizada en línea y cada línea termina con una nueva línea (unix).
Secuencia binaria: son datos, ya que se codifican internamente en la memoria principal de la computadora, sin ninguna modificación.
IOStreams es una interfaz de usuario ( std::istream
, std::ostream
) que se utiliza para definir las funciones de entrada y salida. Las secuencias también almacenan opciones de formato, por ejemplo, la base que se utiliza para la salida de enteros y un objeto std::locale
para todo tipo de personalización. Su componente más importante es un puntero a std::streambuf
que define cómo acceder a una secuencia de caracteres, por ejemplo, un archivo, una cadena, un área en la pantalla, etc. Se proporcionan clases derivadas de las clases de base de flujo para facilitar la creación. La descripción de las instalaciones completas de la biblioteca IOStreams puede llenar prácticamente todo un libro: en C ++ 2003, casi la mitad de la sección de la biblioteca se dedicó a la funcionalidad relacionada con la transmisión.