MATLAB Answers

fopen in text mode ('rt') giving wierd results

조회 수: 51(최근 30일)
Matt
Matt 2014년 10월 7일
답변: Matt 2015년 5월 13일
I am currently using version 2013a on Windows but I have received a project from our old Linux server. There is a line in it which opens a binary file like this:
fp = fopen(file, 'rt', 'l');
data = fread(fp, inf, 'float32');
When I use this command on Linux I get the expected data out of the file. When I use the same command on Windows I get one fewer number and everything after the nth entry is bad until the mth entry. This is very repeatable for a given file. Does the text mode force Matlab to look for ascii new lines even in a binary file? If I change the fopen command on Windows to this:
fp = fopen(file, 'r', 'l');
The problem goes away. I am hoping this is just something that this is just a bug with our old code that was never tested on Windows.
  댓글 수: 2

댓글을 달려면 로그인하십시오.

채택된 답변

Matt
Matt 2015년 5월 13일
As Bruno Pop-Stefanov pointed out the problem is opening a binary file in text mode on Windows. The behavior seen was expected given the contents of the file. The solution of opening binary files without the 't' is correct.

추가 답변(0개)

제품

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by