%% Laden der Zeitschritte & Zugehörigen Blockstärke
% Timer Starten
tic 

% Löschen des Workspace
clc, clear

% Öffnen des *.cfo-files
fidT = fopen('FTire\ftire001.cfo');

i=1;

% While schleife zum finden der Zeitschritte & Anzahl der Zeilen im Block
while ~feof(fidT) % Lesen bis zum Ende der Datei
    stringT = fgetl(fidT); % Zeile auslesen
    
    if length(stringT)>2 && strcmpi(stringT(3),'t') % Wenn Zeilenlänge größer 2 & drittes char-Element ein t ist -> weitermachen!!
        formatSpec1 = '%*s %*s %f %d %*[^\n]'; % Definition des Formats zum Einlesen
        T(i,:) = textscan(stringT, formatSpec1); % Einlesen der Zeit und Blockgröße und Abspeichern in C, Weiter wird die Position des Suchers festgehalten
        
        FTire(i).time = cell2mat(T(i,1)); % Zeit ins Struct-Array schreiben
        FTire(i).size = cell2mat(T(i,2)); % Blockgröße ins Struct-Array schreiben
    
        i=i+1; % Zähler für das Array
    end 
end

fclose(fidT); % Schließen der *.cfo

toc

%% Laden der Daten aus dem File
% öffnen des Files
tic

fidA = fopen('FTire\ftire001.cfo'); % Öffnen der *.txt

a=1;

% Schleife zum Auslesen der Daten
while ~feof(fidA) % Bis das Ende erreicht ist...
    stringA = fgetl(fidA); % Lesen eine Zeile
            
        if length(stringA)>2 && strcmpi(stringA(1),' ') % Wenn Zeilenlänge größer als 2 & erstes element ist ein Leerzeichen       
            formatSpec2 = '%f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f %f'; % Einleseformat
            A(a,:) = textscan(stringA, formatSpec2); % Einlesen der Daten und Ablegen in Matrix A
            
            a=a+1; % Zeilen-Zähler     
        end
end
 
% Schließen des *.cfo-Files
fclose(fidA);

toc


%% Sortieren der Daten in das im ersten Block angelegte Struct-Array
% ...

start=1; % Start-Zeile zum Auslesen der Werte aus der Matrix
ende=0; % Letzte-Zeile zum Auslesen der Werte aus der Matrix
p=1; % Variable als Abbruchbedingung des Struct-Arrays

while p ~= length(FTire)+1
    
    ende=ende+FTire(p).size;
    %{
    disp('iiiiii')
    disp(i)
    disp('start')
    disp(start);
    disp('ende')
    disp(ende);
    disp('size');
    disp(FTire(i).size);
    %}    
    
    FTire(p).matrix=cell2mat(A(start:ende,:));
     
    start=ende+1;
    
    p=p+1;
    
end

toc

% clear T formatSpec1 formatSpec2 i fidT fidA a p ende start header stringA stringT T A
