error when using fprintf
11 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
can anyone tell me where I'm going wrong here.
clear all
data = rand(365,1);
filename = fullfile('file','test.txt');
fid = fopen(filename,'w');
fprintf(fid,'%s\n',data);
fclose(fid)
I'm trying to save a column vector into a .txt file but get the error:
Error using fprintf
Invalid file identifier. Use fopen to generate a valid file identifier.
The error says that I need to use fopen but I have used it so I'm not sure why an error occurs!
0 Kommentare
Antworten (2)
Walter Roberson
am 20 Feb. 2012
Your fopen() is failing, but you are not checking for that.
Your code is attempting to create a file named "test.txt" in a directory named "file" relative to the current directory. Is that your intention? Does the directory exist?
3 Kommentare
Walter Roberson
am 20 Feb. 2012
You may need to open with 'wt' rather than with 'w' . 'wt' is for text files, and 'w' is for binary files.
Image Analyst
am 20 Feb. 2012
Try adding this line right before the fullfile() line
if ~exist('file', 'dir')
% The (badly named) folder called "file" does not exist.
% Create that folder.
mkdir('file');
end
Beyond that, you're opening a file not in text mode and then using a text format specifier (%s) to write out numerical data. What do you think that will do? Maybe you should use %f instead.
Siehe auch
Kategorien
Mehr zu File Operations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!