Domanda

Sto cercando di leggere un file bmp in C ++ (Turbo). Ma io non sono in grado di stampare flusso binario.

Voglio codificare file txt in esso e decodificarlo. Come posso fare questo. Ho letto che intestazione del file BMP è di 54 byte. Ma come e dove devo aggiungere file txt in file BMP. ?

So solo Turbo C ++, quindi sarebbe utile per me se u fornire soluzioni o suggerimenti relative a soggetti per la stessa.

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();
}

Questo codice sta funzionando benissimo quando passo txt file in modalità binaria

Modifica

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

Io non sono in grado di vedere i dati binari a console questo stava lavorando bene per il testo, quando passavo parametro personaggio fr.get (c)

È stato utile?

Soluzione

Credo che si domanda è giá risposto: Stampa un int nella rappresentazione binaria utilizzando C

convertire il char in un int e si è fatto (almeno per la parte di output)

Altri suggerimenti

Con la steganografia, quel poco che so su di esso, non si sta "aggiungendo" testo. Stai facendo piccole modifiche al pixel (ombreggiatura, ecc ..) per nascondere qualcosa che non è visivamente evidente, ma dovrebbe essere in grado di essere reverse-decifrato esaminando i pixel. non dovrebbe avere nulla a che fare con l'intestazione. Comunque, il punto della mia risposta altrimenti non-utile è quello di incoraggiare si va a e conoscere il tema che si cercano risposte, in modo che è possibile progettare la vostra soluzione, e poi tornare e chiedere specifiche sulla implementazione.

È necessario modificare la stringa di bit, non accodare testo al file. Un semplice esempio: Leggere il contenuto Bitmap (dopo il colpo di testa), e sacrificare un po 'di ciascuno dei byte per tenere il vostro contenuti

Se su Windows, ricodificare utilizzare CreateFile e vedere qual è il vero errore è. Se su Linux, idem per aprire (2). Una volta che avete il debug il problema probabilmente si può spostare di nuovo a iostreams.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top