open a hex file
Show older comments
I use the following code to open a hex file (please look at the attachment).
fid = fopen('FileName');
A = fread(fid);
My problem is instead of getting A as a cell containg n*1 (n is the number of rows in the hex file) I get one row of numbers. I would appreciate it if you help me get a result like below:
00 00 00 00 49 40 40 0D
03 00 30 43 C6 02 00 00
A3 6B 74 23 90 47 E4 40
and so on
1 Comment
Azzi Abdelmalek
on 16 Oct 2013
Can you post the result you've got? maybe with simple use of reshape function you can get the expected result
Accepted Answer
More Answers (1)
Azzi Abdelmalek
on 16 Oct 2013
Edited: Azzi Abdelmalek
on 16 Oct 2013
fid = fopen('file.txt');
A = textscan(fid,'%s %s %s %s %s %s %s %s')
fclose(fid)
A=[A{:}]
arrayfun(@(x) strjoin(A(1,:)),(1:3)','un',0)
8 Comments
Walter Roberson
on 16 Oct 2013
Use '%x%x%x%x%x' instead of %s if the numeric form is desired.
Azzi Abdelmalek
on 16 Oct 2013
Edited: Azzi Abdelmalek
on 16 Oct 2013
Post the first samples you've got with
A = fread(fid);
Azzi Abdelmalek
on 16 Oct 2013
If the data you've got are like:
A={'00' ;'00' ;'00';'00'; '49'; '40' ;'40' ;'0D'; '03'; '00' ;'30' ;'43'; 'C6'; '02'; '00' ;'00'}
You can make some transformations
out=reshape(A,8,[])'
result=arrayfun(@(x) strjoin(out(x,:)),(1:size(out,1))','un',0)
Azzi Abdelmalek
on 16 Oct 2013
Edited: Azzi Abdelmalek
on 16 Oct 2013
Decimal numbers? please edit your question and make it as clear as possible
Jan
on 16 Oct 2013
@Ronaldo: A memory leak? I assume, you mean something completely different.
Categories
Find more on Numeric Types in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!