Error using fprintf, Invalid file identifier

2 vues (au cours des 30 derniers jours)
vitor gabriel
vitor gabriel le 27 Nov 2017
Commenté : vitor gabriel le 28 Nov 2017
Hello, I'm trying this code:
% log file:
if(write)
logid = fopen(logfilename, 'w');
%fprintf(logid, 'Induction times for constant-volume explosion\n');
fprintf(logid, 'burned gas composition\n');
fprintf(logid, 'fH, p, Tu');
for(i=1:length(ynames))
fprintf(logid,', ');
fprintf(logid, ynames{i});
end
fprintf(logid,'\n');
end
But I'm having this error:
Error using fprintf
Invalid file identifier. Use fopen to generate a valid file identifier.
Error in lookupY_05 (line 48)
fprintf(logid, 'burned gas composition\n');
I tryied to follow some tips from similar questions but it's not working. Thanks a lot for any help.
Bye
  2 commentaires
Chafik Zerrouki
Chafik Zerrouki le 27 Nov 2017
It's very difficult to help you with your code writed like this. Be sure to be lisible when you ask a question to be lisible.
Perhaps, the problem is it with 'logfilename'. Did you write it like that ?
logfilename = 'myText.txt';
vitor gabriel
vitor gabriel le 27 Nov 2017
Hello, I wrote as logfilename = [dir writetofilename '.log']; % full logfile name

Connectez-vous pour commenter.

Réponse acceptée

Guillaume
Guillaume le 27 Nov 2017
Your code failed to open the file for writing. There can be many reasons for that which we can only take a guess at. Maybe the file doesn't exist, maybe you don't have permission to write it, maybe something else.
To know for sure:
[logid, errmsg] = fopen(logfilename, 'w');
assert(logid > 0, 'failed to open %s for writing because %s, logfilename, errmsg)
  3 commentaires
Guillaume
Guillaume le 27 Nov 2017
There is no point showing us more code. As I said, the file cannot be created for some reason. This is specific to your machine. Perhaps the path you're using does not exist. Perhaps you don't have write access to that path, perhaps something else.
The code I've given you will tell you exactly what the problem is.
vitor gabriel
vitor gabriel le 28 Nov 2017
Thank you, I solved. It was a very stupid mistake. Have a good day

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by