Datei Einlesen



  • int lines=this->cachesize/4;
    int addmod;
    
    int Cache[lines];
    std::string dat;
    std::string mode;
    int modeint;
    std::string tempadd;
    int address;
    int zaehler=0;//TEST
    
        std::fstream fp;
        fp.open("gcc.trc", std::ios::in);
    
    while(!fp.eof()){
         getline(fp,dat,'\n');
    
    mode=dat.substr(0,1);
    modeint=hex_nach_int(mode);
    
    tempadd=dat.substr(2,8);
    address=hex_nach_int(tempadd);
    
    addmod=address%lines;  
    
    //INSTRUCTION FETCH CASE-------------------------------------------------------
         if(modeint==2){
         std::cout<<"instruction Fetch\n";
    		if(Cache[addmod]==address)this->hit++;
    		else {Cache[addmod]=address;
    			  this->miss++;
    		}
         } 
    }
    

    Die Datei hat 1mil Zeilen diese werden komplett eingelesen und an dem Punkt wo die Schleife eigentlich verlassen werden sollte bekomme ich diese Fehlermeldung:

    This application has requested the Runtime to terminate it in an unusual way.
    Please contact the application's support team for more information.



  • Mal mit dem Debugger geschaut, WO er abkackt ?



  • Guter Tip dieser hat mich darauf gebracht mir die Datei genauer anzusehen und ich habe entdeckt das mein Professor freundlicherweise eine Leerzeile am Ende der Datei eingebaut hat.
    Es lag wohl am getline er hat versucht eine Zeile zu holen die nicht da war und ist dabei abgeschmiert

    😃



  • Hallo

    Der Debugger ist immer ein guter Tipp. 😃

    chrische


Anmelden zum Antworten