int wert aus string auslesen
- 
					
					
					
					
 Hi, 
 also: ich lese eine Zeile aus einer datei ein, zbsp.: "wert der zeile: 23"
 wie kriege ich jetzt diese zahl 23 aus der zeile raus???Danke, Danke! 
 mfg hares
 
- 
					
					
					
					
 string t("wert der zeile: 23"); string::size_type pos; // Zum speichern der gefundenen Position pos = t.find_last_of(":"); // Letzten : suchen if(pos == string::npos) // Prüfen ob es einen gab NichtGefunden string zahl; zahl = t.substr(pos+1); // Zahl extrahieren ( 1 position hinter dem :) int i = atoi(zahl);
 
- 
					
					
					
					
 Hallo, 
 prinzipiell ok, aber unnötig langsam und nicht vergessen: atoi erwartet einen const char* nicht einen std::string:string Zeile("wert der zeile: 23"); string::size_type pos = Zeile.find(":"); if (pos != string::npos) { int i = atoi(Zeile.c_str()+pos+1); }Wenn das Format der Zeile nicht ganz so klar ist, hilft eine Suche nach Ziffern: const char* const DIGITS = "0123456789"; string Zeile("wert der zeile: 23"); string::size_type pos = Zeile.find_first_of(DIGITS); if (pos != string::npos) { int i = atoi(Zeile.c_str()+pos); }
 
- 
					
					
					
					
 wobei der text vorne dran meist auch noch interessant ist 
 
- 
					
					
					
					
 wie kriege ich jetzt diese zahl 23 aus der zeile raus??? wobei der text vorne dran meist auch noch interessant ist  
 
- 
					
					
					
					
 stringstream str(string("wert der zeile: 23")); string text; int zahl; while(!str.eof()) { char c = str.get(); if(isdigit(c)) { str.putback(c); str >> zahl; } else { text+=c; } }oder so  
 
- 
					
					
					
					
 while(!str.eof()) Nein. Auch nicht bei stringstreams. 
 So:while(str.get(c)) { ... }