Programmabsturz beim Einlesen aus Datei
-
Hi,
ich versuche eine csv - Datei einzulesen die wie folgt aufgebaut ist:
Befehlname,numParameter,TypPara1,TypPara2,....Beim Compilieren gibt es nur Wahnungen keine Fehler. Aber die Wahnungen verstehe ich nicht.
:\programme\microsoft visual studio\myprojects\jobparser\parser\fileanalyzer.cpp(78) : warning C4786: 'std::reverse_iterator<std::basic_stringstream<char,std::char_traits<char>,std::allocator<char> > const *,std::basic_stringstream<char,std::char_t
raits<char>,std::allocator<char> >,std::basic_stringstream<char,std::char_traits<char>,std::allocator<char> > const &,std::basic_stringstream<char,std::char_traits<char>,std::allocator<char> > const *,int>' : Bezeichner wurde auf '255' Zeichen in de
n Debug-Informationen reduziert
c:\programme\microsoft visual studio\myprojects\jobparser\parser\fileanalyzer.cpp(78) : warning C4786: 'std::reverse_iterator<std::basic_stringstream<char,std::char_traits<char>,std::allocator<char> > *,std::basic_stringstream<char,std::char_traits<
char>,std::allocator<char> >,std::basic_stringstream<char,std::char_traits<char>,std::allocator<char> > &,std::basic_stringstream<char,std::char_traits<char>,std::allocator<char> > *,int>' : Bezeichner wurde auf '255' Zeichen in den Debug-Informatio
nen reduziert
c:\programme\microsoft visual studio\myprojects\jobparser\parser\fileanalyzer.cpp(64) : warning C4786: '__ehhandlervector@V?char_traits@D@std@@V?allocator@V?char_traits@D@std@@V?basic_string@DU?allocator@D@2@@3@D@Z' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürzt
c:\programme\microsoft visual studio\myprojects\jobparser\parser\fileanalyzer.cpp(64) : warning C4786: '__unwindfuncletvector@V?char_traits@D@std@@V?allocator@V?char_traits@D@std@@V?basic_string@DU?allocator@D@2@@3@D@Z$4' : Bezeichner wurde auf '255' Zeichen in den Debug-Informationen verkürztWenn ich das Programm starte, läuft es ganz normal. Aber sobald ich das Kommando gefunden habe und den 1. Parameter eingelesen habe, stürzt es ab, mit folgender Meldung:
Debug Assertion Failure.
File: dbgheap.c Line: 1044
Exception: _CrtIsValidHeapPointer(pUserData).Es handelt sich also um einen Zeigerfehler. Kann aber nichts finden.
Hier nun der relevante TEil aus meinem Code:vector<stringstream>* FileAnalyzer::analyze(string s, char delim){ const int SIZE = 255; char line[SIZE]; int counter=0; stringstream tmp; std::cout<<"Function analyze: " <<endl; //an den Beginn positionieren in.seekg(0L, ios::beg); while(!in.eof() ){ std::cout<<"Test!"<<endl; in.getline(line,SIZE, delim); std::cout<<"Just read: "<<line<<endl; //prüfe ob der gelesene Teil dem gesuchten Kommando entspricht if(strcmp( line, s.c_str())== 0){ in.getline(line, SIZE, delim); tmp<<line; //Counter beinhaltet die Anzahl der Argumente counter = atoi(line); seperated.push_back(tmp); //stringstream leeren und neu einrichten tmp.clear(); tmp.str(""); while(counter > 0){ in.getline(line, SIZE, delim); tmp<<line; std::cout<<"While in analyze!"<<endl; std::cout<<tmp.str()<<endl; seperated.push_back(tmp); tmp.clear(); tmp.str(""); counter--; } return (&seperated); } //Rest der Zeile will keiner wissen else{ in.ignore(10000, '\n'); } }...
Hat jemand eine Idee, wo es das Probelm sein könnte?