Ergebnis 1 bis 8 von 8

Thema: Typumwandlung: String zu int [c++]

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1

    Typumwandlung: String zu int [c++]

    Ist ja fast schon peinlich wegen sowas einen neuen Thread zu eröffnen.

    Ich hänge momentan beim Versuch, einer Variable vom Typ int einen String zu übergeben. Auf Google findet man zu castings in c++ entweder nur castings von grundlegenden Datentypen oder castings in Java weil jeder in seinen Typumwandlungsbeispielen c++ erwähnt und nur ein Java Beispiel bringt. ^. ^

    Im folgenden Beispiel sollte also der Variable wert in der Struktur node der Wert "20" übergeben werden. Gibt es dafür irgendeine spezielle Funktion?
    Code:
    #include "stdafx.h"
    #include "vector"
    #include <string>
    #include <iostream>
    
    using namespace std;
    
    struct Node{
    	int wert;
    	Node* parent;
    	Node* links;
    	Node* rechts;
    };
    
    
    int _tmain(int argc, _TCHAR* argv[])
    {
    	vector<Node> bla;
    	vector<string> vStringWerte;
    
    	vStringWerte.push_back("10");
    	vStringWerte.push_back("20");
    
    	bla.push_back(Node());
    	bla[bla.size()-1].wert = vStringWerte[1];
    
    	cout << "Wert:" << bla[bla.size()-1].wert << endl << "vStringWerte: " << vStringWerte[1];
    	
    	return 0;
    }
    Und noch eine Frage am Rande:
    Gibt es eine Internetseite mit Auflistung aller Klassen und Funktionen der Standard c++ api?

  2. #2
    Ich würds mit stringstream machen.

    Code:
    #include <sstream>
    using namespace std;
    
    ...
    
    string s = "123";
    int i;
    
    stringstream ss;
    
    ss << s;
    ss >> i;
    Ich hoffe, die Funktionsweise erklärt sich von selbst. Das wär IMO der C++-ichste Weg.

    Zu Pseudo-2) Ich benutz, wenn ich's mal benutz, cplusplus.com

  3. #3
    Dachte schon << ist nur für cout zu gebrauchen. Danke dir.

  4. #4
    ich wuerde an der stelle einfach die standard C Funktion atol verwenden

    Code:
    string s = "123";
    int i = atol(s.c_str());

  5. #5
    Der Befehl heißt atoi, nicht atol, Ineluki.

    Das steht dann insgesamt für a(variable) zu i(integer)

  6. #6
    Steht a nicht für array? char-Array.

    atol sollte es auch geben, das wäre dann array to long ->
    Code:
    long l = atol(someString);

    Geändert von Ineluki (12.06.2006 um 13:12 Uhr)

  7. #7
    Achso, sowas gibt es auch?
    Oky, wieder was gelernt.

    Aber der Thread bezog sich ja auf Integer. ^^

  8. #8
    long int IST ein Integer. int ist auch ein Integer, genau wie signed char, shortint, long long int, ...

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •