Hola a todos, necesito escribir en disco una información que me llega mediante socket en paquetes de 8192 bytes, la cosa es que en un principio sabía el tamaño del fichero completo que iba a recibir y así no tenía ningún problema ya que reservaba memoria en un buffer con malloc y una vez que tenía el fichero completo en el buffer lo lamacenaba en disco con:
fstream ofs("salida", fstream::binary | fstream::out);
ofs.write(bufferfile, size); // Siendo size el tamaño del fichero.
La cosa es que ahora no sé el tamaño del archivo que voy a recibir, solo sé que lo voy a rrecibir en fragmenos de 8192.
¿existe la forma de ir escribiendo en disco de forma dinámica, ose cada vez que recibo un paquete? Algo parecido a:
fstream ofs("salida", fstream::binary | fstream::out);
Bucle
{
Leo paquete de 8192;
Almceno en disco;
}
ofs.clese("salida");
Un saludo y muchas gracias.