Konvertierung von string nach int funktioniert nicht...



  • Hallo zusammen,

    habe in meinem Programm versucht string-Werte in int-Werte umzuwandeln. Dazu habe ich <sstream> verwendet und folgenden Code, versucht umzusetzen:

    size_t toHash (const string key, size_t size) {
    		double index = 0.0;
    		assert(size > 0);
    		stringstream str;
    		str.str(key);
    		size_t keyVal = 0;
    		str >> keyVal;
    		index = keyVal % size;
    		return (size_t) index;
    	}
    

    dann noch anstelle von:

    str.str(key);
    
    str << key;
    size_t keyVal = 0;
    str >> keyVal;
    

    Mein Debugger gibt aber 0 raus, was heißt, dass kein string eingelesen wird...
    Woran liegt das und was könnte ich alternativ tun damit es funktioniert?

    Gruß
    Generic412



  • Versuch es mal so:

    std::istringstream str(s);
    int x = 0;
    
    str >> x;
    
    return x;
    


  • Warum so kompliziert? Ich kann nicht ganz nochvollziehen was du in der Funktion alles machst.

    mfg.



  • Danke, für die Lösungsvorschläge...

    Es funktioniert, nur mein Fehler lag woanders. Dadurch, dass ich eine Modulorechnung mache, muss als Index 0 herauskommen, wenn die Division aufgeht... 😃


Anmelden zum Antworten