c_str()-Problem

DeChecka

Erfahrenes Mitglied
Hi!
Kann es sein, dass ich in einer WinApi-Anwendung c_str() nicht einsetzen kann?

Wie kann ich denn dann eine Variable vom Typ int in eine Zeichenkette umwandeln?

MfG
DeChecka
 
Was du suchst ist sicherlich das hier:
Code:
#include <iostream>
#include <sstream>

int main(){
        std::ostringstream os;
        os << 1;
        std::cout << os.str() << std::endl;
        return 0;
}
Was du meinst ist sicherlich das hier:

Code:
#include <iostream>

int main(){     
        const char* foo = std::string("Ich bin der Inhalt des C- Strings").c_str(); // c_str() wandelt einen stl string in einen Klassischen C- String um ...
        return 0;
}


Gruß

RedWing
 
Hmm, das, was du mir vorschlägst mit dem ostringstream kenne ich nicht...
Ich will einfach bei einer WinApi-Anwendung in einer MessageBox eine Zahl anzeigen lassen...
Und dazu muss das ja ein String sein...
Geht das dann damit?

MfG
DeChecka
 
Mhm ich kenn mich mit der Winapi nicht aus, aber mit Hilfe eines
OutputStreams wie ostringstream kannst du definitiv einen
int in einen stl string umwandeln, wie dann das anzeigen
funktioniert musst du in deiner API Refernz nachschauen oder auf
eine andere Antwort warten :)
Gruß

RedWing
 
Hi nochmal!

Des einfach net so, wie ich mir das vorstelle...

Im Grunde will ich ja keinen Stream, sondern einfach eine Variable, die meine Zahl erhält, die aber ein String ist...

Kann irgendeiner noch helfen?
 
Was meinst du was os.str() macht? Es gibt dir einen stl- String
zurück.

//edit wenn du einen C-String brauchst machst dus so:
Code:
#include <iostream>
#include <sstream>

int main(){
        std::ostringstream os;
        os << 1;
        const char* zahl_string = os.str().c_str();
        return 0;
}
Gruß

RedWing
 
Zurück