2010-10-17 46 views
0

需要幫助我用C++使用C++

  1. 如何通過線C++來打開文件的二進制數據的十六進制線工作十六進制字符串合作,以十六進制數據
  2. 如何分割線使用的分隔符像0x3D之間C++
  3. 如何存儲矢量地圖中的所有行,除了搜索建立的行外。

ex。 語法文件二進制

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 店焦炭成立*

請幫我

+0

http://www.cplusplus.com/reference/iostream/ios_base/flags/ – DumbCoder 2010-10-17 10:31:25

+1

如果你的二進制文件有\ n字符,你解釋爲行尾,那麼該文件不是二進制文件,而是文本文件。 – Dialecticus 2010-10-17 10:42:27

+0

hi JoshD,包含上述十六進制數據的文本文件 – 2010-10-17 10:58:40

回答

0

你不太清楚。

我會假設你有一個帶有這些字符的文件(btw,TEXT文件,而不是二進制文件),並且你想一行一行地讀取它,然後用「3D」分割eache行,然後將每個零件存儲在字符*。

首先,閱讀有關打開文件以閱讀和如何逐行閱讀,您可以在任何教程中找到它。

其次,使用strtoken()以「分割」線「3D」。請記住,在這一點上,它只是文本,忘了關於十六進制。

之後,您可以使用scanf()將每個零件讀取爲十六進制並將它們存儲到char *中,然後您可以比較此信息並存儲您想要的信息。

如果該文件是二進制文件,那麼您將需要查找getc()函數或gets(),但這個想法是相同的。在第二步中,如果您需要按0x3d十六進制值進行分割,請執行此操作。