Reading a binary data file
Show older comments
Hello,
I am trying to import and read a binary data file of the following format in MATLAB. I need to read in all the data, however at this point im just trying to read in the first 4 char, but i keep getting a blank array. Nothing seems to be working and I have been stuck for days.
Thanks in advance for your help!

fid = fopen('file.dat','r');
if fid <0
error('error opening file %s\n file.dat')
end
Program_label = fread(fid,[1 4],*char)
fclose(fid);
m = memmapfile('GSS1_t023_is_phcorr_ideal.dat');
m.Format
Answers (1)
Jan
on 7 Jun 2019
fid = fopen('file.dat','r');
if fid <0
error('error opening file %s\n file.dat')
end
Program_label = fread(fid, [1 4], '*char'); % With quotes
Program_version = fread(fid, 1, 'single');
Type_label = fread(fid, [1 4], '*char');
nCols = fread(fid, 1, 'uint32');
nRows = fread(fid, 1, 'uint32');
...
fclose(fid);
8 Comments
KatherineS
on 8 Jun 2019
Please explain exactly, what you are doing. How do you obatin the "[]"? "The output for the values shows..." is not clear enough to understand this. Program_label is read as char vector, such that it is unlikely, that the empty matrix [] is shown anywhere. Therefore I assume, that your method to display the contents of the variables is flawed, or that the file really contains '[] ' as first 4 characters.
KatherineS
on 8 Jun 2019
Walter Roberson
on 8 Jun 2019
Please show us
double(Program_label)
I suspect that it contains unprintable characters, such as binary 0.
the first characters in the file should be imageLayerStack (abcdef1 v 1.14)
That disagrees with the layout you provided, which says that there should be 4 characters followed by a single precision float
Jan
on 8 Jun 2019
Show us:
fid = fopen('file.dat','r');
if fid <0
error('error opening file %s\n file.dat')
end
data = fread(fid, [1 16], '*uint8')
fclose(fid)
KatherineS
on 8 Jun 2019
Walter Roberson
on 8 Jun 2019
The file is empty.
Walter Roberson
on 8 Jun 2019
dinfo = dir('file.dat')
and look at the bytes information. I think it will show 0
Categories
Find more on Large Files and Big Data 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!
