Text file i/o problem....I always get 0 with charnum ...whats the problem with the code??
1 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Stephen23
2020-2-9
编辑:Stephen23
2020-2-9
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 个评论
Stephen23
2020-2-9
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
2020-2-9
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()
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Workspace Variables and MAT-Files 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!