Streams de cadenas en C++
Arma cadenas con << y vuelve a leerlas con >>, sin ninguna conversión manual a la vista.
#include <sstream>
#include <string>
std::string tag(const std::string &name, int count) {
std::ostringstream out;
out << name << " x" << count;
return out.str();
}
int sum_line(const std::string &line) {
std::istringstream in(line);
int total = 0;
for (int value; in >> value;) {
total += value;
}
return total;
}
Cómo funciona
std::ostringstreamjunta todo lo que<<acepte;str()entrega la cadena terminada.std::istringstreamvuelve una cadena un stream de entrada, así que>>extrae valores tipados.- El bucle lee ints hasta agotar el stream —
in >> valuese vuelve falso al final.
Palabras clave y builtins usados aquí
constforintreturn
El intento, en números
- Líneas
- 17
- Caracteres a escribir
- 316
- Tokens
- 99
- Ritmo de tres estrellas
- 75 tpm
Al ritmo de tres estrellas de 75 tokens por minuto, este intento toma unos 79 segundos.
Paso 2 de 3 en Cadenas y streams; paso 20 de 27 en Fundamentos del lenguaje.