fread returns -1
Show older comments
I am trying to read a .dcr binary file. We have used this script for this function many times before and it has worked well. This specific .dcr file is giving us trouble.
I open the file using fopen, then run the fread command to read the bits.
A = fread(fid,1,'long');
A =
-1
When does fread return a negative number? It should be reading 32 bits of zeros and ones. What bit does it read as the sign? or does it indicate a different error?
1 Comment
Ameer Hamza
on 7 Oct 2020
'long' indicates a signed integer. Why do you expect it to not be negative? If it is unsigned, then use 'ulong'.
Answers (1)
Star Strider
on 7 Oct 2020
0 votes
Since 'long' indicates a 32-bit signed integer, and you are returning 1 value, that is likely what the function is reading.
That is what I would assume.
Categories
Find more on Low-Level File I/O 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!