Char Array in einer Funktion ausgeben.
-
Skym0sh0 schrieb:
Dachdecker schrieb:
Die Ausgabe funktioniert nur die Sache hat einen kleinen Haken.
Eigentlich müsste ich ja E mit free(E) reinigen aber dann kann ich den Wert ja nicht mehr zurück geben :-(.#include <iostream> #include <string> #include <stdlib.h> using namespace std; char &my_function(string a) { char * E; E = (char *) malloc(a.size()); for(int i=0;i<a.size();i++){ E[i] = a[i]; } char *s = E; // free(E); return *s; } int main() { string dumm = "dumm"; cout << &my_function(dumm); return 0; }
Häää?
Ich denke du willst C++ Strings nutzen?
malloc ist C und kein C++.Und so wie ich das auf den ersten Blick sehe in der SQLite-API wird ein const char* erwarten, den kriegst du von einem std::string per c_str Methode.
Wo ist also dein Problem??
Edit: Oder willst du X machen, denkst es geht per Y und anstatt nach X zu fragen, fragst du nach Y?!?
Ich will nur ein Char Array zurück geben mehr nicht.
Lasst euch von dem String beim funktionsparameter nicht verwirren Leute.Für Babys:
return CharArray[]
-
dachdecker schrieb:
Ich will nur ein Char Array zurück geben mehr nicht.
Für Babys:
return CharArray[]
Für Begriffsstutzige:
Das geht nicht!
-
der te will also einen std::string in einen c-string wandeln (manuell!) ohne ein proxy-objekt welches den dynamischen speicher des c-strings scope-übergreifend wieder frei gibt. dabei wurde er mehrfach auf die std::string-methode std::string::c_str() hingewiesen, was er ignorierte. nutz also c_str() oder lass das forum in ruhe, meine güte lol...
edit: formulierung angepasst.
-
Vielleicht helfen ja dies beiden Beiträge weiter:
-
DirkB schrieb:
Vielleicht helfen ja dies beiden Beiträge weiter:
Das ist mal eine Sprache die ich verstehe danke
Bis eben dachte ich ihr ignoriert mehr mich als ich euch :3
Die ganze Zeit meinte ich ihr wollt Stur mich auf eine Methode verweisen die mir mir nichts bringtDer Dachdecker meinte mit c_str meint ihr ich soll normale CharStrings verwenden.
Mein Problem hat sich auch gelößt danke für eure Gedult :3
-
dachdecker schrieb:
Das ist mal eine Sprache die ich verstehe danke
...
Der Dachdecker meinte mit c_str meint ihr ich soll normale CharStrings verwenden.Dann hast du die falschen Fragen gestellt.
Hinweise gab es:DirkB schrieb:
Aber was hast du gegen
c_str
vonstd::string
?
Weißt du überhaupt was das macht?Skym0sh0 schrieb:
Oder willst du X machen, denkst es geht per Y und anstatt nach X zu fragen, fragst du nach Y?!?
dachdecker schrieb:
Die ganze Zeit meinte ich ihr wollt Stur mich auf eine Methode verweisen die mir mir nichts bringt
Das die Antworten hier so einstimmig kamen, ist er selten
Dein Problem ist, das du weder C++ noch C in den Grundlagen kennst.
Trotzdem willst du hier diese beiden verschiedenen Sprachen vermischen.Was verstehst du unter CharStrings?