float c++ stl

float - ¿Cuáles son las clases "string", "stream" y "stringstream" en C++?



string to int c++ (4)

Quiero saber cuál es la diferencia entre string y stream en c ++, y qué es stringstream?


En C y / o Unix, la metáfora básica era el archivo. Salida estándar, estándar en, tomas de red fueron representados utilizando descriptores de archivo. Por lo tanto, puede usar fprintf() para escribir en estos "archivos" sin saber qué hay realmente debajo.

Como una alternativa más segura y más fría, C ++ presentó iostream como la metáfora básica que está casi integrada en el lenguaje utilizando el operador << . De nuevo, se puede acceder a archivos, cadenas y (con la biblioteca) a través de transmisiones sin saber de qué se trata.


Muy informalmente: una cadena es una colección de caracteres, una secuencia es una herramienta para manipular datos en movimiento. Una secuencia de cadenas es una clase de C ++ que le permite usar una cadena como fuente y destino de datos para una secuencia.

Además ... google es tu amigo.


Supongo que un stringstream es como un iostream, pero en lugar de escribir o leer desde un archivo, escribes o leo desde una cadena.


  • istream y istream : interfaces para la transmisión de datos (archivos, sockets, etc.)
  • istringstream : un istream que envuelve una cadena y ofrece sus contenidos
  • ostringstream : un ostream que guarda el contenido escrito en él como una cadena

Ejemplo:

istringstream datastream("1 2 3"); int val; datastream >> val; cout << val << endl; // prints 1 datastream >> val; cout << val << endl; // prints 2 datastream >> val; cout << val << endl; // prints 3 ostringstream outstream; outstream << 1 << "+" << 2 << "=" << 3; cout << outstream.str() << endl; // prints "1+2=3"