Question

Je suis en train de lire un fichier bmp en C ++ (Turbo). Mais je ne suis pas en mesure d'imprimer flux binaire.

Je veux encoder le fichier txt dans et décrypter. Comment puis-je faire ceci. J'ai lu cet en-tête de fichier bmp est de 54 octets. Mais comment et où dois-je ajouter le fichier txt dans le fichier bmp. ?

Je sais que Turbo C ++, il serait helpfull pour moi si u fournir une solution ou une suggestion de thème pour la même.

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

Ce code fonctionne très bien quand je passe txt fichier en mode binaire

EDIT:

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

Je ne suis pas en mesure de voir les données binaires dans la console ce fonctionnait très bien pour le texte quand je repassais paramètre de caractère dans fr.get (c)

Était-ce utile?

La solution

Je pense que vous question est une réponse allready: Imprimer un int en représentation binaire en utilisant C

convertir votre char en un int et vous avez terminé (au moins pour la partie de sortie)

Autres conseils

Avec la stéganographie, le peu que je sais à ce sujet, vous n'êtes pas le texte « annexant ». Vous apportez des modifications subtiles aux pixels (ombrage, etc ..) pour cacher quelque chose qui est pas visuellement évident, mais devrait pouvoir être déchiffré inverse en examinant les pixels. Ne devrait pas avoir rien à voir avec l'en-tête. De toute façon, le point de ma réponse autrement non utile est de vous encourager allez et en apprendre davantage sur le sujet que vous cherchez des réponses, de sorte que vous pouvez concevoir votre solution, puis venir demander des précisions sur la mise en œuvre.

Vous devez modifier la configuration binaire, pas ajouter le texte au fichier. Un exemple simple: Lire le contenu Bitmap (après en-tête), et sacrifier un peu de chacun de l'octet pour tenir votre contenu

Si sur Windows, recoder utiliser CreateFile et voir ce que l'erreur réelle est. Si sur Linux, idem pour open (2). Une fois que vous avez débogué le problème que vous pouvez probablement passer revenir à iostreams.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top