Besoin de Convertir le fichier Binaire en fichier Txt
J'ai un dat fichier(binaire), mais je souhaite convertir ce fichier en Ascii (txt) fichier à l'aide de c++, mais je suis très nouveau dans la programmation en c++.j'ai donc juct ouvert mes 2 fichiers:myBinaryfile et myTxtFile mais je ne sais pas comment lire les données à partir de ce fichier dat puis comment écrire ces données dans le nouveau fichier txt.si je veux écrire un c+ codes qui prend en entrée binaire contenant des fichiers dat, et la convertit en texte Ascii dans un fichier de sortie. si ce possible s'il vous plaît aider à écrire ce codes. grâce
Désolé de poser la même question à nouveau, mais encore je n'ai pas résoudre mon problème, je vais l'expliquer plus clairement comme suit: j'ai un fichier txt appelé “A.txt”, donc je veux le convertir en un fichier binaire (B. dat) et vice verset processus. Deux questions:
1. comment convertir “A.txt” en “B. dat” en c++
2. comment convertir “B. dat” en “C.txt” en c++ (besoin de convertir le résultat de la 1ère sortie de nouveau dans le nouveau fichier ascii)
mon fichier texte est comme (sans en-tête):
1ère ligne: 1234.123 543.213 67543.210 1234.67 12.000
2e ligne: 4234.423 843.200 60543.232 5634.60 72.012
il ont plus de 1000 lignes dans le même style (5 colonnes par une ligne).
Puisque je n'ai pas d'expériences en c++, je suis la lutte ici, donc besoin de votre aide. Merci Beaucoup
- Que voulez-vous dire la conversion de fichiers binaires pour les fichiers texte? Vous voulez juste créer un dump le binaire? Ne ce fichier binaire ont un format de fichier spécifique de la structure? Ne ce fichier binaire transporter des données utiles que vous voulez convertir à un homme-une forme utilisable? Par exemple, le binaire d'un
*.doc
fichier est incompréhensible pour l'homme, mais lorsqu'il est ouvert dans Microsoft Word, vous pouvez obtenir le texte de base, mise en forme et tout, dans une manière dont les êtres humains peuvent facilement comprendre. Vous devez être beaucoup plus spécifique que "je veux convertir un fichier binaire dans un fichier texte."
Vous devez vous connecter pour publier un commentaire.
Très facile:
(un.k.un. ouvert).
binary
mode,qui empêche les OS de la traduction
le contenu.
fichier;
unsigned char
est un bontype de variable pour cela.
à l'aide de votre favori de conversion, hex,
virgule, etc.
La recherche de ces mots-clés:
ifstream, ofstream, hex modifier, dec modifier, istream::read, ostream::write
.Il existe des utilitaires et des applications déjà effectuer cette opération. Sur les *nix et Cygwin côté essayez
od
, *octal dump " et pipe le contenu d'un fichier.Il est le
debug
utilitaire sur le système MS-DOS.Un format populaire est:
Merci d'éditer votre post pour vous fournir plus de détails, y compris un exemple de mise en page pour le fichier cible.
Edit:
Un exemple complexe (pas testé):
Le programme ci-lit 1 mo de morceaux à partir du fichier binaire, le convertit au format ASCII hexadécimal dans la mémoire tampon de sortie, puis écrit le morceau pour le fichier texte.
unsigned char*' to
char*' 33 initialisation de l'argument 1 of `std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::read(_CharT*, std::streamsize) [avec _CharT = char, _Traits = std::char_traits<char>]'unsigned char*' to
const char*' ce qui est la moyenne qui invalide la conversion de unsigned char char ou const char? Si vous le pouvez, m'aider à corriger ces 2 lignes. Mercisrce_file.read((char*)(&read_buffer[0]));
. De la même façon avec leswrite
.write_buffer
. Pire des cas, vous pouvez imprimer les 2 valeurs après qu'elles sont écrites dans la mémoire tampon.read
méthode peut définir le failbit n' et eofbit lors de la lecture moins deREAD_BUFFER_SIZE
. Modifier le programme afin de s'adapter à ces statuts.Tous les fichiers sont juste un flux d'octets. Vous pouvez ouvrir les fichiers en mode binaire ou en mode texte. Le plus tard signifie simplement qu'il peut avoir plus de saut de ligne à la manipulation.
Si vous voulez que votre fichier texte, ne contiennent que des coffre-fort, lisible par les caractères que vous pourriez faire quelque chose comme encoder en base64 vos données binaires avant de l'enregistrer dans le fichier texte.
Je pense que vous êtes un malentendu que la différence entre un fichier binaire et un fichier de test est dans l'interprétation du contenu.