Tengo un std::vector<int>
y quiero serializarlo. Para este propósito que estoy tratando de utilizar un std::stringstream
Cómo copio datos binarios a un stringstream
vector<int> v;
v.resize(10);
for (int i=0;i<10;i++)
v[i]=i;
stringstream ss (stringstream::in | stringstream::out |stringstream::binary);
Sin embargo, cuando copio el vector al stringstream esta copia como personaje
ostream_iterator<int> it(ss);
copy(v.begin(),v.end(),it);
el valor que introduce para amortiguar (_Strbuf) es "123456789 "
I sucssesed escribir una solución de solución
for (int i=1;i<10;i++)
ss.write((char*)&p[i],sizeof(int));
quiero hacer algo como primera forma utilizando la función std como copiar
gracias Herzl
Me gusta este enfoque en general, pero a menudo es un error para dar salida a la memoria a ciegas Me gusta esto. Aún necesita escribir algo que pueda serializar correctamente cada tipo. –
Totalmente de acuerdo. Nunca usaría ese código en producción. Preferiría el ciclo "para" arriba mencionado :-) – Stas