Pregunta

Estoy tratando de leer un archivo BMP en C ++ (Turbo). Pero yo no soy capaz de imprimir secuencia binaria.

Quiero para codificar archivo txt en él y descifrarlo. Cómo puedo hacer esto. He leído que encabezado del archivo BMP es de 54 bytes. Pero, ¿cómo y dónde debo añadir el archivo txt en el archivo BMP. ?

Sólo sé Turbo C ++, por lo que sería atento para mí si u ofrecen una solución o sugerencia relacionada con el tema de la misma.

int main()
{
ifstream fr; //reads
ofstream fw; // wrrites to file
char c;
int random;
clrscr();
char file[2][100]={"s.bmp","s.txt"};

fr.open(file[0],ios::binary);//file name, mode of open, here input mode i.e. read only
if(!fr)
    cout<<"File can not be opened.";
fw.open(file[1],ios::app);//file will be appended
if(!fw)
    cout<<"File can not be opened";
while(!fr)
    cout<<fr.get(); // error should be here. but not able to find out what error is it

fr.close();
fw.close();
getch();
}

Este código está funcionando muy bien cuando paso txt archivo en modo binario

EDIT:

while(!fr)
    cout<<fr.get(); 

No soy capaz de ver los datos binarios en la consola este estaba trabajando bien para el texto cuando i estaba pasando parámetro carácter en fr.get (c)

¿Fue útil?

Solución

Creo que pregunta se responde allready: Imprimir un int en representación binaria usando C

convertir el carbón a un int y ya está (al menos para la parte de salida)

Otros consejos

Con la esteganografía, lo poco que sé de él, usted no está "añadiendo" texto. Estás haciendo cambios sutiles en los pixeles (sombreado, etc ..) para ocultar algo que no es visualmente obvio, pero debe ser capaz de ser inversa descifrado mediante el examen de los píxeles. no debería tener nada que ver con la cabecera. Así que de todos modos, el punto de mi respuesta de otro modo no útil es animar a que vaya a y aprender sobre el tema que buscar respuestas, de modo que usted puede diseñar su solución, y entonces ven y pide específicamente acerca de la aplicación.

Es necesario modificar el patrón de bits, no añada cualquier texto en el archivo. Un ejemplo sencillo: Leer el contenido de mapa de bits (después de cabecera), y sacrificar un poco de cada uno de los bytes para mantener su contenido

Si en Windows, recodificar utilizar CreateFile y ver cuál es el error real. Si en Linux, lo mismo para open (2). Una vez que haya depurado el problema es probable que pueda recaer en la parte iostreams.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top