Ex 8.12

Läs in en fil med heltal och ta reda på vilket tal som är störst/minst samt vilken position i filen. Illustrerar manipulation av filpekare.

clear
file = 'testfil2.txt';

if exist(file,'file')
    fid = fopen(file,'rt');
    value = [];
    position = [];
    while ~feof(fid)
	position = [position ftell(fid)];
	value = [value fscanf(fid,'%d',1)];
    end
    fclose(fid);

    [nmax,i] = max(value);
    [nmin,j] = min(value);
    disp(['Största värdet är ',num2str(nmax), ...
        ', och är på filposition: ',num2str(position(i))]);
    disp(['Minsta värdet är ',num2str(nmin), ...
        ', och är på filposition: ',num2str(position(j))]);

else
    disp('Fil verkar inte existera');
end

% fid = fopen('testfil2.txt');
% fseek(fid,11,'bof');
% fscanf(fid,'%d',1)
Största värdet är 82, och är på filposition: 2
Minsta värdet är 12, och är på filposition: 5