string in char[] umwandeln
-
Ich würde gerne wissen wie man einen string in char[] umwandelt , wen das überhaupt geht , den mein Compiler meint das eine solche Typumwandlung nicht möglich ist.
-
Fall es dir nur darum geht den []-Operator anzuwenden kannst du das auch mit einem string tun, falls doch doch einen char* bzw. char[] brauchst kannst du:
mystring.c_str() benutzen. Das gibt dir einen char* zurück.
-
string str = "Hallo String"; string ins = "ich bin ein " str.insert(8,ins); char stri[255]; stri = str.c_str(); cout << stri << endl;
Da kommt bei mir immer der Fehler:
error C2440: '=' : 'const char *' kann nicht in 'char [255]' konvertiert werden Es gibt keine Konvertierungen von Feldtypen, obwohl es Konvertierungen von Verweisen oder Zeigern in Felder gibt
Du sagtest doch das würde gehen
-
Wenn du schon C-Strings verwendest, solltest du auch wissen, wie sie zu benutzen sind.
#include <cstring> // ... std::strcpy (stri, str.c_str ());
Ist aber reichlich sinnlos, der Ausgabeoperator << ist auch für std::string überladen.
-
Hallo,
kannst du uns bitte sagen, wofür du diese Umwandlung brauchst. Denn in den meisten Fällen (z.B. bei Übergaben an Funktionen) reicht .c_str() völlig aus.MfG