#include <iostream>
#include <string>
#include <sstream>
#define BUFFER_SIZE 16
int main( int argc, char ** argv)
{
std:: stringstream ss;
ss << "Un texto con datos de ejemplo para probar la extacción de un stream" ;
std:: cout << "Stream contents: '" << ss.str ( ) << "'" << std:: endl ;
char buffer[ BUFFER_SIZE] = { 0 } ;
std:: streamsize read = 0 ;
do {
read = ss.readsome ( buffer, BUFFER_SIZE - 1 ) ;
std:: cout << "Read: " << ss.gcount ( ) << std:: endl ;
std:: cout << buffer << std:: endl ;
std:: cout << "---" << std:: endl ;
std:: fill ( buffer, buffer + BUFFER_SIZE, 0 ) ;
} while ( read > 0 ) ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3N0cmVhbT4KCiNkZWZpbmUgQlVGRkVSX1NJWkUgMTYKCmludCBtYWluKGludCBhcmdjLCBjaGFyICoqIGFyZ3YpCnsKCiAgICBzdGQ6OnN0cmluZ3N0cmVhbSBzczsKICAgIHNzIDw8ICJVbiB0ZXh0byBjb24gZGF0b3MgZGUgZWplbXBsbyBwYXJhIHByb2JhciBsYSBleHRhY2Npw7NuIGRlIHVuIHN0cmVhbSI7CgogICAgc3RkOjpjb3V0IDw8ICJTdHJlYW0gY29udGVudHM6ICciIDw8IHNzLnN0cigpIDw8ICInIiA8PCBzdGQ6OmVuZGw7CgogICAgY2hhciBidWZmZXJbQlVGRkVSX1NJWkVdID0gezB9OwoKICAgIHN0ZDo6c3RyZWFtc2l6ZSByZWFkID0gMDsKCiAgICBkbyB7CiAgICAgICAgcmVhZCA9IHNzLnJlYWRzb21lKGJ1ZmZlciwgQlVGRkVSX1NJWkUgLSAxKTsKICAgICAgICBzdGQ6OmNvdXQgPDwgIlJlYWQ6ICIgPDwgc3MuZ2NvdW50KCkgPDwgc3RkOjplbmRsOwogICAgICAgIHN0ZDo6Y291dCA8PCBidWZmZXIgPDwgc3RkOjplbmRsOwogICAgICAgIHN0ZDo6Y291dCA8PCAiLS0tIiA8PCBzdGQ6OmVuZGw7CiAgICAgICAgc3RkOjpmaWxsKGJ1ZmZlciwgYnVmZmVyICsgQlVGRkVSX1NJWkUsIDApOwogICAgfSB3aGlsZSAoIHJlYWQgPiAwICk7CgogICAgcmV0dXJuIDA7Cn0K