2010-10-17 18 views
0

besoin de me aider pour la chaîne hexagonale de travail en utilisant C++travail à des données Hex en C++

  1. comment ouvrir un fichier binaire en ligne hexagonale de données en ligne C++
  2. comment partager en utilisant la ligne delimiter comme 0x3D C++
  3. comment stocker toutes les lignes dans la carte vectorielle à l'exception de la ligne fondée de la recherche.

ex. fichier de syntaxe binaire

32 32 32 32 32 32 30 3D 32 30 31 31 31 30 31 30 

32 32 32 32 32 32 31 3D 32 30 31 31 31 30 31 30 

32 32 32 32 32 32 32 3D 32 30 31 31 31 30 31 30 

32 32 32 32 32 32 33 3D 32 30 31 31 31 30 31 30 

delimiter = 3D

search = 0x32 0x32 0x32 0x32 0x32 0x32 0x32

dernière étape, comment la production fondée de recherche comme 0x32 0x30 0x31 0x31 0x31 0x30 0x31 0x30 magasin char *

s'il vous plaît aidez-moi

+0

http://www.cplusplus.com/reference/iostream/ios_base/flags/ – DumbCoder

+1

Si votre fichier binaire a \ n caractères que vous interprétez comme fin de ligne, alors le fichier n'est pas binaire, mais un fichier texte. – Dialecticus

+0

hi JoshD, fichier texte contenant les données hexadécimales ci-dessus –

Répondre

0

Vous n'êtes pas trop clair.

Je suppose que vous avez un fichier avec ces caractères (btw, fichier TEXT, pas binaire), et vous voulez le lire ligne par ligne, puis diviser la ligne eache par "3D", puis stocker chaque partie dans un carboniser*. Tout d'abord, lisez sur le fichier d'ouverture pour lire et comment lire ligne par ligne, vous le trouverez dans n'importe quel tutoriel. Ensuite, utilisez strtoken() pour «diviser» la ligne en «3D». Rappelez-vous qu'à ce stade, c'est seulement du texte, oubliez l'hexagone. Plus tard, vous pouvez utiliser scanf() pour lire chaque partie en hexadécimal et les stocker dans char *, vous pouvez alors comparer et stocker ce que vous voulez.

Si le fichier est binaire, vous devrez rechercher la fonction getc() ou gets(), mais l'idée est la même. Dans la deuxième étape, si vous devez le diviser par la valeur hexadécimale 0x3d, faites-le.