Effacer les filtres
Effacer les filtres

problem with the function "fread"

6 vues (au cours des 30 derniers jours)
Antonis Koutsis
Antonis Koutsis le 15 Jan 2021
i have to read a .txt file , given by my professor, and i wrote the following code
fid=fopen('shannon_odd.txt','r'); %open file
x=fread(fid,'*char'); %read file chars
binary = dec2bin(x,8); %char->binary
binary_t=transpose(binary);
binf=binary_t(:)-'0'; %vector of binary bits of file
binf=binf.';
and when i run the program, this error came at command window:
  2 commentaires
Ive J
Ive J le 15 Jan 2021
Is your text file within current working directory?
Antonis Koutsis
Antonis Koutsis le 15 Jan 2021
it was the first thing that i had checked before i post this

Connectez-vous pour commenter.

Réponses (1)

Jeremy Hughes
Jeremy Hughes le 15 Jan 2021
The error indicates that fopen returned an invalid file ID.
Try this:
[fid,msg] = fopen(filename)
if fid < 0
error(msg)
end
More than likely, the file is not in the current working directory. try
which('shannon_odd.txt')
That will show you if the file is being found, if it doesn't give a result, you'll need to provide the full path to the file.
HTH

Catégories

En savoir plus sur Low-Level File I/O dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by