Tohle se musi udelat bud pres multidimenzní pole.Pokud budes mit konstatni velikost toho pole,tak neni problem ho vytvorit takhle:
#define MAX 10
char params[MAX][VELIKOST_BUFFERU]; //10radku o 10 znacich
Pokud to ovsem potrebujes delat dynamicky,tak tu mas trochu problem.Nejde totiz pouzit styl zapisu:
char params[argc][VELIKOST_BUFFERU]; //x radku o 10 znacich
Pro dynamicke vytvareni musis pouzit klicove slovo new.Ovsem c++ to ma trochu osemetne vyresene a musi se to delat v cyklu:
char *params = new char[argc];
for(int i = 0;i < argc;i++)
params[i] = new char[VELIKOST_BUFFERU];
Pak by melo fungovat:
for (i = 0; i < argc; i++)
strcpy(params[i][0], argv[i]);
Druhou moznosti pro vytvoreni multidimezniho pole je definovat si klasicke jednodimezni o velikost x*y.A pristupovat k jeho datum pomoci i*y + 0//ta nula je posunuti v ose x,jelikoz bereme cely string,beremeho ho od zacatku.
Tato metoda vyzaduje trochu promyslet parametry pro pristup na jednotlive prvky.Jestli budes mit zajem,muzu sem hodit svoji tridu pro praci s 2D a 3D poli.Ta je naprogramovana pomoci metody jednodimezniho pole.