0

需要帮助我使用 C++ 处理十六进制字符串

  1. 如何逐行打开文件二进制数据十六进制c ++
  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

搜索 =0x32 0x32 0x32 0x32 0x32 0x32 0x32

最后一步如何输出从搜索中建立的输出,如0x32 0x30 0x31 0x31 0x31 0x30 0x31 0x30 store char*

请帮我

4

1 回答 1

0

你说的不是太清楚。

我假设您有一个包含这些字符的文件(顺便说一句,TEXT 文件,而不是二进制文件),并且您想逐行读取它,然后将每一行拆分为“3D”,然后将每个部分存储在一个 char* 中。

首先,阅读有关打开文件进行阅读以及如何逐行阅读的信息,您将在任何教程中找到它。

其次,使用 strtoken() 按“3D”“分割”行。请记住,此时它只是文本,忘记十六进制。

稍后您可以使用 scanf() 将每个部分读取为十六进制并将它们存储到 char* 中,然后您可以比较它并存储您想要的内容。

如果文件是二进制文件,则需要查找 getc() 函数或 gets(),但思路是一样的。第二步,如果需要用 0x3d 十六进制值分割,就做。

于 2011-01-20T19:53:54.817 回答