Konvertieren einer std :: list nach char * [size]

Aus irgendeinem Grund kann ich nicht erklären, dass jedes einzelne Element im Zeichen-Array ... dem zuletzt hinzugefügten Element entspricht. Zum Beispiel enthalten progArgs [0] bis progArgs [Größe] den Wert des letzten Elements.

Ich kann nicht herausfinden, was ich für mein Leben falsch mache. Irgendwelche Vorschläge

int count = 0;
char *progArgs[commandList.size()]

    for(list<string>::iterator t=commandList.begin(); t!=commandList.end(); t++)
    {
        char item[strlen((*t).c_str())]; //create character string
        strcpy(item, (*t).c_str()); //convert from const char to char
        progArgs[count] = item;
        count++;
    }

bearbeiten

Vielen Dank für die schnellen Antworten an alle ... Ich verstehe, wovon du sprichst

Antworten auf die Frage(12)

Ihre Antwort auf die Frage