[C con Clase] es posible?

Steven Davidson steven en conclase.net
Dom Mar 4 03:11:59 CET 2007


Hola Ricardo,

El pasado 2007-03-04 01:41:02, Ricardo escribió:

R> Buenas:
R> queria preguntar si es posible tomar un archivo cualquiera en c++ y convertirlo en una cola de bits para despues poder manipularlos?

Sí puedes. Al fin y al cabo, un fichero es leído como una cola, pero sin extraer los elementos leídos. Internamente, un canal ("stream", en inglés) mantiene la posición al siguiente byte a leer al igual que otra posición para la escritura.

Para poder modificar los bits en el fichero, tendrás que,

1. Leer uno o más bytes en una variable en memoria
2. Aplicar las operaciones a nivel de bits para tal variable
3. Colocar el cursor de escritura del fichero al comienzo de tales bytes
4. Escribir los bytes modificados al fichero.
5. Terminar.

Para colocar el cursor de escritura del fichero, usa la función miembro 'seekp()'. Por ejemplo,

unsigned int byte;
fstream fsBits;
...
fsBits.seekp( - sizeof byte, ios::cur );


Espero que esto te sirva.

Steven


Más información sobre la lista de distribución Cconclase