Lo scopo di questa parte del codice e' quella di inserire all'interno di un array a cui posso accedere tutte le stringhe che non sono parametri "opzionali" ricevuti all'invocazione del programma.
Ho ragionato in questo modo: creo un vettore di puntatori a caratteri di nome
Risultato: lvalue required as increment operand in *argvS++ = *argv;
Dove ho peccato?
C:
int main(int argc, char *argv[])
{
char *argvS[argc];
while(--argc >= 0 && *++argv != NULL) // So che il doppio controllo e' superfluo.
if(/*se si tratta di parametri formali*/)
{
//...
}
else
*argvS++ = *argv;
*argvS = NULL;
//...
return 0;
}
argvS
di dimensioni sufficienti da contenere eventualmente tutti gli indirizzi di argv
, ad eccezione del primo ma includendo un ultimo indirizzo che sara' NULL. Successivamente tramite una selezione controllo quali siano le stringhe che mi interessano, prendo il loro indirizzo *argv
e lo inserisco all'interno del mio vettore, per poi prepararlo al prossimo indirizzo con l'autoincremento e dunque *argvS++
. Risultato: lvalue required as increment operand in *argvS++ = *argv;
Dove ho peccato?