How to open a binary file that returns -1 when using fopen?
9 views (last 30 days)
Show older comments
I am trying to open a file that someone else recorded. The file is supposedly binary. The extension is meaningless (it refers to the content of the file...). I tried using fopen and the file identifier is -1 (so can't read it in). If I 'manually' open the file it does not show as binary but as many symbols. How can I approach this?
Thank you
0 Comments
Answers (2)
Walter Roberson
on 29 Apr 2017
Use
filename = 'NameOfBinaryFile';
[fid, msg] = fopen(filename, 'r');
if fid < 0
error('Could not open file "%s" because: "%s"', filename, msg);
end
For example it might be in use by another program, or you might not have permission to read it.
2 Comments
Walter Roberson
on 29 Apr 2017
Currently you do not know why the fopen fails. The above code will tell you why. It has nothing to do with making your program available to others: it has to do with debugging a problem with your program or configuration.
Image Analyst
on 29 Apr 2017
Check the file attributes. If it's marked at readonly and you're trying to open it for writing, it might return -1. Make sure the readonly checkbox is not checked.
0 Comments
See Also
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!