Pregunta

Estaba pensando en " encadenar " un par de c ++ iostreams juntos para filtrar la entrada dos veces. Estoy usando gzstreams para leer archivos comprimidos de zlib y estaba pensando en codificar una secuencia que se lee de una secuencia y realiza conversiones de codificación. Quizás pasando un flujo abierto como parámetro de constructor ... ¿Cómo crees que podría lograrse esto?

¿Fue útil?

Solución

No he usado esto pero refuerza filtering_stream puede ayudar.

Como ejemplo, encontré una publicación de la lista de correo con indent.hpp , que implementa un filtro de salida con sangría salidas:

boost::iostreams::filtering_ostream out; 
indent_filter::push(out,2); 
out.push(std::cout); 
  

Y utilízalo así:

out << "Hello Filter!\n" 
    << indent_in 
    << "this is\n" 
    << "indented\n" 
    << indent_out 
    << "until here\n" 
    ; 
  

Lo que resultará en salida:

Hello Filter! 
  this is 
  indented 
until here 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top