String in int und int in char feld...



  • Hallo,
    für ein Programm muss ich einen String in einen int konvertieren und diesen int wieder in ein char feld.

    Also z.B.:

    string test("123");
    int zahl;
    char zahl2[10];
    zahl = test;
    cout << zahl << endl;
    zahl2 = zahl;
    cout << zahl2 << endl;
    

    Hier sollte jeweils 123 rauskommen. Ist das ganze überhaupt möglich?

    Viele Grüße!



  • std::stringstream/boost::lexical_cast/std::atoi

    Wozu überhaupt?



  • Danke für deine Antwort,gibt es auch nen msdn Artikel dazu oder hast du ein Beispiel?

    Naja ich will damit einfach Zahlen durch SendInput wohinschreiben, jedoch sollen die Zahlen verändert werden, und mir ist nichts besseres als das eingefallen...



  • Zeig doch mal ein Stück Code her, vielleicht gibt es da eine einfachere Lösung.



  • Bei deiner Frage kannst du dir eigentlich schon selbst denken, dass sowas in einer FAQ zu finden sein könnte. In diesem Fall ERSTER Eintrag: http://www.c-plusplus.net/forum/39488



  • Ok,also:

    openme.open("C:\\Users\\...\\Desktop\\sfprot.txt");
    getline(openme, line1);
    pressup = atoi(line1.c_str());
    getline(openme, line1);
    number = atoi(line1.c_str());
    

    Hier werden den Integern "pressup" und "number" Werte aus einer Datei zugewiesen.

    Nun will ich diese Werte die in diesen Integern enthalten sind einem Char Feld zuweisen. Sagen wir Number wäre 10.

    char text[10];
    // Hier soll nun der der Wert von "number" in text geschrieben werden, und dann eben 10 ausgegeben werden.
    for (int i = 0;i < 10;i++)
    {
    INPUT InputData;
      int iEvents;
      InputData.type = INPUT_KEYBOARD;
      InputData.ki.wVk = VkKeyScan(text[i]);
      InputData.ki.wScan = 35;
      InputData.ki.dwFlags = 0;
      InputData.ki.time = (NULL);
      InputData.ki.dwExtraInfo = 0;
      iEvents = SendInput(1, &InputData, sizeof(InputData)); 
    }
    

    @HeiligerBimBam: Mir geht es aber auch darum das ganze in ein Char-Feld umzuwandeln...



  • Ok also ich habe es jetzt mal mit diesem Beispiel:

    double d = 3.14; 
        ostringstream Str; 
        Str << d; 
        string ZahlAlsString(Str.str());
    

    Aber dann kommen ein haufen Fehlermeldungen..

    z.B.
    Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt
    ..
    Hoffe ihr könnt mir weiterhelfen.. MFG!



  • #include <sstream> vergessen? Außerdem ist ein Shring nichts weiter als ein besserer Char-Array.



  • Also ich habe sstream included:

    #include <sstream>
    

    Und ich benutzte Visual Studio 2010 Express Edition und wenn da was falsch ist wird das ja schon am Code so rot unterkringelt, und das passiert bei

    Str << d;
    

    und da steht dann unter Str: "Error: Diese Deklaration hat keinen Typspezifizierer oder keine Speicherklasse.

    und unter << : Es wurde eine Deklaration erwartet...


  • Mod

    Das klingt so als hättest du den Code außerhalb einer Funktion.



  • Zeige doch bitte mal den Codeabschnitt den du momentan hast.


Anmelden zum Antworten