string nach char*
-
Hallo,
ich suche eine Möglichkeit einen string in einen char* zu konvertieren.
So habe ich es versucht:
#include <stdio.h> #include <string> using namespace std; void main(void) { string test1 ="Blah"; char *test2; strcpy(test1,test2); }
klappte aber nicht!
Könnt ihr mir helfen?
Gruß Patrick
-
geht auch const char*? wenn ja dann nimm die memberfunktion c_str()
-
mmh, sollte auch funktionieren. Wollte gerade noch meine Beitrag ein wenig
editieren, aber das hast du schon so schnell geantwortet!Hab es gerade nochmal so versucht:
string strText; char *ch = new char[strText.length()+1]; strcpy(ch, strText.c_str()); ... delete [] ch;
hat aber auch nicht funktioniert. Wie würdest du das denn mit dem c_str() machen?
-
hat aber auch nicht funktioniert.
Das ist keine vernünftige Fehlerbeschreibung.
-
funktioniert hier wunderbar:
#include <iostream> using namespace std; int main() { string strText = "Teststring"; char *ch = new char[strText.length()+1]; strcpy(ch, strText.c_str()); cout << ch << endl; delete [] ch; return 0; }
...hat aber mit MFC nicht viel am Hut.
-
jo, tut mir leid.
ich bekomme beim oberen Beispiel bekommen ich folgendes:
error C2664: 'strcpy' : Konvertierung des Parameters 1 von 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >' in 'char
Ich habe das untere Beispiel gerade zu :
#include <stdio.h> #include <string> using namespace std; void main(void) { string strText = "test"; char *ch = new char[strText.length()+1]; strcpy(ch, strText.c_str()); printf("%s",ch); delete [] ch; }
geändert, und es funktioniert!