problem mit const char und STL-string



  • holla,

    folgendes prob., hoffe koennt helfen:

    habe nen API aufruf der als parameter char *param will und der parameter steckt bei mir in einem vector<string>, wobei die einzelnen elemente des vektors mir mit c_str() leider nur const char* Werte zurueckliefern ...

    Wie mache ich also aus const char* etwas was char* ist!?!?

    (Vielleicht ne dumme frage)

    Danke.



  • mit const_cast, nur erzeugst du undefiniertes Verhalten, wenn die Funktion schreibend versucht auf den Speicher zu zugreifen. Da bleibt dir leider nichts anderes über, als einen C-String zu nehmen und dann in den std::basic_string zu kopieren.



  • nein, meine funktion schreibt nix, es geht also. Aber ich haette noch ne andere Frage:

    Weiss jemand wie man einen int in ein STL-string casten kann!?!?!?

    Danke.



  • casten? garnicht sinnvoll...

    #include <sstream>
    #include <string>
    
    std::stringstream ss;
    ss << int;
    std::string str(ss.str());
    


  • ich habe in meinem prog ein stringstream welchem ich sukkzessive zahlen uebergebe. diese werden als string-werte dann string-variablen zugewiesen.

    Ich habe nur bemerkt dass wenn ich nur eine stringstream variable habe, die zahlen einfach hintereinanderweg an den stream angehaengt werden. Wie schaffe ich es jedesmal jede zahl neu in ein string zu konvertieren ?

    // ...
    int num_1 = 1, num_2 = 2, num_3 = 3;
    string num_1_str, num_2_str, num_3_str;
    stringstream ss; 
    ss << num_1; string num_1_str = ss.str(); 
    ss << num_2; string num_2_str = ss.str(); 
    ss << num_3; string num_3_str = ss.str();
    //...
    

    der wert von num_3_str ist bei mir dann am Ende "123". Das soll es aber nicht!

    danke



  • Hat sich geklaert..war zu voreilig :)) habs gefunden

    trotzdem danke.


Anmelden zum Antworten