работа с шестнадцатеричными данными с использованием C ++ - PullRequest
0 голосов
/ 17 октября 2010

мне нужно помочь для работы с шестнадцатеричной строкой с использованием c ++

  1. как открыть файл двоичные данные шестнадцатеричные строки строка за ++
  2. как разбить строку, используя разделитель, например 0x3D c ++
  3. как сохранить все строки в векторной карте, кроме строки, найденной в результате поиска.

ех. Синтаксический файл двоичный

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 

разделитель = 3D

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

последний шаг, как вывести найденный из поиска как 0x32 0x30 0x31 0x31 0x31 0x30 0x31 0x30 магазин чар *

пожалуйста, помогите мне

1 Ответ

0 голосов
/ 20 января 2011

Вы не слишком ясны.

Я предполагаю, что у вас есть файл с этими символами (кстати, текстовый файл, а не двоичный), и вы хотите прочитать его построчно, затем разделить каждую строку на «3D» и затем сохранить каждую часть в символ *.

Прежде всего, прочитайте об открытии файла для чтения и о том, как читать построчно, вы найдете его в любом уроке.

Во-вторых, используйте strtoken (), чтобы разделить строку на «3D». Помните, что на данный момент это всего лишь текст, забудьте о hex.

Позже вы можете использовать scanf () для чтения каждой части в шестнадцатеричном виде и сохранения их в char *, затем вы можете сравнить это и сохранить то, что хотите.

Если файл является двоичным, то вам нужно искать функцию getc () или gets (), но идея та же. На втором шаге, если вам нужно разделить его на шестнадцатеричное значение 0x3d, просто сделайте это.

...