필터 지우기
필터 지우기

Fid=-1 for fopen

조회 수: 9 (최근 30일)
ck
ck 2016년 6월 22일
댓글: ck 2016년 6월 22일
So I am trying to open a bunch of .dat files(ex:frm_ais_edr_nnnn.dat', where n varys), so when I put it in a loop , fopen works for first time and when the loop runs for the second time and it takes next .dat fil fopen returns fid=-1 and it cannot be processed. the Code is as below:
clear;
clc;
filepath='C:\Users\K chetan\Desktop\marsis_DAta\datafiles';
out=dir(filepath);
n = length(out);
for count=3:n
out(count,1).name
fid=fopen(out(count,1).name,'r');
data_file= fread(fid,'*char');
fclose(fid);
end
here the file path is the directory in which all files are present.
How can I overcome this error ?
the error its showing is
count =
4
fid =
-1
Error using fread
Invalid file identifier. Use
fopen to generate a valid file
identifier.
Error in directory_test (line 8)
data_file= fread(fid,'*char');
thank you

채택된 답변

Walter Roberson
Walter Roberson 2016년 6월 22일
fid = fopen( fullfile(filepath, out(count,1).name), 'r');
  댓글 수: 2
ck
ck 2016년 6월 22일
will I need to put this in a loop?
ck
ck 2016년 6월 22일
YEAH ! it worked , thanks a ton!

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

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Low-Level File I/O에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by