Count the number of space character from a text file which has multiple lines

Hello everyone,
I am currently working on my function of counting space characters, it works well if my text file has only 1 line but it messes up when i input multiples lines into my file. Could anyone please tell me what I am doing wrong?
function space = swap(file)
file = 'mytext.txt';
f = fopen(file, 'rt');
while feof(f) == 0
s = fgetl(f);
a = length(strrep(s, ' ', ''));
b = length(s);
space = b - a;
end
end

 Accepted Answer

What you are actually doing in the while loop is , assigning the number of spaces in each line to the variable space. It will always store the number of spaces in the last line at the end of the loop. If you want to calculate total number of spaces do
space = space + (b-a);
It will look something like this:
file = 'abc.txt';
f = fopen(file, 'rt');
space = 0;
while feof(f) == 0
s = fgetl(f);
a = length(strrep(s, ' ', ''));
b = length(s);
space = space + (b - a);
end

More Answers (0)

Products

Release

R2018b

Community Treasure Hunt

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

Start Hunting!