string array als Rückgabewert einer Funktion
-
HI,
möchte eine Funktion schreiben, die als Rückgabewert mehrere char strings zurückgibt. Mit char* funktion() kann ich nur ein string zurückgeben, wie kann ich aber mehrere string zurückgeben in Form eines arrays?
DANKE EUCH
-
vector<string> foo();
Aber es wäre zu Überlegen ob Du nicht lieber
void foo(vector<string> * returnData);schreibst.
-
kann man dies auch nicht mit der char datenstruktur lösen?
Wo steht bei deiner Lösung dann der Funktionsname?
-
Servus!
Wenn du unbedingt mit CharArrays arbeiten willst, so gibt es unter anderem diese Möglichkeit:
char **func() { char **array=new char*[100]; for(int count=0;count<100;count++) { array[count]=new char[100]; strcpy(array[count],"blablabla"); } return(array); } //draussen kannst du dann auf alle 100 CharArrays zugreifen(also über //'array[<index>]') ==> aber das 'delete' für alle CharArrays //und das dynamisch angelegte PointerArray nicht vergessen
Hoffe, das hilft dir weiter!
Grüße,
TS++
-
Danke, das hilft mir schon weiter. Mich interessier aber trotzdem noch, wie der Code aussieht, wenn man dies mit dem string Datentyp löst. Bin neu in C++ eingestiegen und habe bis jetzt nur char benutzt.
Wäre interessant!
-
Um bei den Arrays zu bleiben:
#include <string> std::string *func() { std::string *strArray=new std::string[100]; for(int count=0;count<100;count++) { strArray[count]="blablabla"; } return(strArray); } int main(int argc, char *argv[]) { std::string *array=func(); //'array' verwenden delete []array; return 0; }
Grüße,
TS++
-
DANKE