error when using fprintf
11 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (2 件)
Walter Roberson
2012 年 2 月 20 日
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 件のコメント
Walter Roberson
2012 年 2 月 20 日
You may need to open with 'wt' rather than with 'w' . 'wt' is for text files, and 'w' is for binary files.
Image Analyst
2012 年 2 月 20 日
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.
参考
カテゴリ
Help Center および File Exchange で File Operations についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!