Effacer les filtres
Effacer les filtres

Text file i/o problem....I always get 0 with charnum ...whats the problem with the code??

2 vues (au cours des 30 derniers jours)
function charnum=char_counter(fname,character)
fid=fopen(fname,'rt')
if fid<0
charnum=-1;
return;
end
if fid ~=0 && ischar(character)==true
charnum=count(fname,"character ");
else
charnum=-1;
end

Réponse acceptée

Stephen23
Stephen23 le 9 Fév 2020
Modifié(e) : Stephen23 le 9 Fév 2020
Your code has likely has several bugs, e.g. you were checking for literal "character" as opposed to using the contents of the character variable:
charnum = count(fname,character);
One more bug is that you are checking the input fname for these characters... but I suspect that you need to import the file contents and check that, but nowhere in your code do you actually import the file contents.
  3 commentaires
Stephen23
Stephen23 le 9 Fév 2020
For a valid file fid will be >=3, not >0, so you might need something like this:
fid = fopen(fname,'rt')
if fid>=3
... import file contents, etc.
charnum = ...
else
charnum = -1;
end
Walter Roberson
Walter Roberson le 9 Fév 2020
Testing 0 is fine.
You are counting characters in the file name instead of reading from the file and counting the characters in what results.
By the way, see fileread()

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by