2013-06-04 45 views
0

我有一個文本文件,看起來像這樣粘貼下面。幾個十六進制值後跟「xx」,後跟十六進制值。該模式重複〜1M次。我正在尋找一種很好的方式來讀出忽略「xx」值的十六進制值。 Textscan看起來很有趣,但不支持十六進制。 fscanf很棒,但是一旦它碰到文件中的第一個「xx」就會窒息。我寫了一個笨重的腳本,它將所有內容都看作一個字符串,省略了「xx」並使用了dec2hex,但這很緩慢(顯然)是。有什麼建議麼?Matlab從文本文件中讀取非十六進制值的十六進制值散佈?

7F 
55 
8A 
9B 
6E 
XX 
XX 
XX 
XX 
FF 
DE 
BE 
EF 
XX 
XX 
XX 
04 
88 
. 
. 
. 

回答

2

該解決方案讀取在1萬元左右2個字符的行不到我的筆記本電腦第二:

fid = fopen('test.txt'); 
A = textscan(fid,'%2c','CommentStyle','XX'); 
fclose(fid); 
A = hex2dec(A{:}); 

注意'CommentStyle'選項,跳過那些以XX開頭的行。

+0

謝謝!那很棒。非常感激。 – Doov