string in char* umwandeln
-
Hallo,
hab einen String und möchte diesen in ein C-Array char* umwandeln:Hab die Funktion c_str() gefunden, aber diese verlangt ein const char*.
Dann hab ich paar Zeilen selbst geschrieben:
char* stringInChar;
stringInChar=new char[datei.size()];
cout<<"Size "<<datei.size()<<endl;
for (int z=0;z<datei.size();z++)
stringInChar[z]=datei[z];Gibt aber auch irgendwelche komischen Zeichen am Anfang und Ende von stringInChar aus.
P.S.:
In der Variablen steht ein dateiname mit Pfad, also z.B.:
../ordner/bild1.tif
-
Hallo,
wenn du unbedingt ein char* benoetigst, dann bleibt dir nichts anderes uebrig,
als die Daten zu kopieren, aehnlich wie du es gemacht hast. Im Speicherbereich
eines string-Objektes herumwerkeln ist auf jeden Fall nicht empfehlenswert.mfg
v R
-
so?
string test("../ordner/bild1.tif"); char * buffer = new char[test.size()+1]; // +1 wegen \0 strcpy(buffer, test.c_str()); cout << buffer;
Bei mir gehts auf jeden Fall.
-
Ausgezeichnet!
Funktioniert bei mir auch!
Vielen Dank für die schnellen Antworten!