fopen problem help please

17 ビュー (過去 30 日間)
Anton Gubrienko
Anton Gubrienko 2021 年 4 月 15 日
コメント済み: Ankriti Sachan 2021 年 4 月 20 日
In this part of code
disp(filename)
fid=fopen([filename '.hea']);
disp('debug')
I have error
---WFDB/I0005 ->(its a display filename, i have in WFDB folder files I0005.hea and i0005.mat)
---Error using fopen
---First input must be a file name or a file identifier.
Please, help with fopen) (m2020 mac version)
  2 件のコメント
Stephen23
Stephen23 2021 年 4 月 15 日
@Anton Gubrienko: please show the complete error message. This means all of the red text.
Walter Roberson
Walter Roberson 2021 年 4 月 15 日
I suspect that your filename variable is a cell array instead of a character vector or string scalar

サインインしてコメントする。

回答 (1 件)

Ankriti Sachan
Ankriti Sachan 2021 年 4 月 20 日
As Walter mentioned, I am also guessing that you are providing a folder name instead of a filename as the input to the fopen function. Please verify the same. Also, you can verify if any other file in the same folder is accessible using fopen.
I hope this answers your query.
  4 件のコメント
Walter Roberson
Walter Roberson 2021 年 4 月 20 日
First input must be a file name or a file identifier
You do not get that message if you accidentally name a directory instead of a file.
mkdir junk_dir_for_test
[fid, msg] = fopen('junk_dir_for_test');
if fid < 0
warning('failed to open file because: "%s', msg);
else
fprintf('fopen of directory worked?\n');
fclose(fid)
end
Warning: failed to open file because: "Is a directory
[fid, msg] = fopen('junk_does_not_exist_for_test');
if fid < 0
warning('failed to open file because: "%s', msg);
else
fprintf('fopen of non-existent file worked?\n');
fclose(fid)
end
Warning: failed to open file because: "No such file or directory
[fid, msg] = fopen({'junk_does_not_exist_for_test'});
Error using fopen
First input must be a file name or a file identifier.
if fid < 0
warning('failed to open file named as cell because: "%s', msg);
else
fprintf('fopen of non-existent named as cell file worked?\n');
fclose(fid)
end
The only case you get the error message being observed is if the parameter passed to fopen() is not a character vector or string scalar.
In the context of
% fid=fopen([filename '.hea']);
then if filename were a cell array of character vectors instead of a character vector, you would get that problem.
Ankriti Sachan
Ankriti Sachan 2021 年 4 月 20 日
Sure, thanks for clarifying. That helps.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeStartup and Shutdown についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by