even after using fopen, still giving negative fid. how to get a valid fid?

19 Ansichten (letzte 30 Tage)
shashwat soni
shashwat soni am 19 Okt. 2018
Kommentiert: Rik am 19 Aug. 2020
clc;
clear;
close all;
filename = fullfile(matlabroot,'1.txt');
fid = fopen('1.txt','r') ;
C = fscanf(fid,'%c');

Antworten (2)

Image Analyst
Image Analyst am 19 Okt. 2018
Try actually passing the filename to fopen():
clc
clear;
close all;
filename = fullfile(matlabroot,'1.txt');
if exist(filename, 'file')
fid = fopen(filename ,'rt') ;
C = fscanf(fid,'%c');
else
message = sprintf('File does not exist', filename);
uiwait(errordlg(message));
return;
end

Stephen23
Stephen23 am 19 Okt. 2018
You need to actually pass the filename to fopen:
fnm = fullfile(matlabroot,'1.txt');
[fid,msg] = fopen(fnm,'r');
assert(fid>=3,msg)
C = fscanf(fid,'%c');
fclose(fid);
  2 Kommentare
elnaz Alikarami
elnaz Alikarami am 19 Aug. 2020
I have the same problem and non of these helped. the fid keeps being -1 and I don't know how to fix it. can someone help me please?
Rik
Rik am 19 Aug. 2020
@elnaz Alikarami: you will have to post your code, ideally in your own question. Feel free to post a link here to make people aware of your question. Also have a read here and here. It will greatly improve your chances of getting an answer.

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by