Originariamente inviato da artedelcorpo
Ciao ragazzi.

Dopo molto tempo lontano dal C mi sono rimesso ad utilizzarlo per
scrivere Plugin per altre piattaforme di sviluppo ma ho subito
incontrato un problema: voglio banalmente costruire un Array di
stringhe contenente un range di indirizzi IP (tipicamente da 1 a 255) a partire da un indirizzo IP passato alla funzione.

Più o meno in questo modo

Ammettiamo di passare l'indirizzo in questo modo
Local_Host_It = "192.168.1."


for ( i = 1, i < 255, i++) {

itoa( i, str, 10 );
strcpy( Local_Host_IP1, Local_Host_IP);
strcat( Local_Host_IP1, str );

Assegnando il valore di Local_Host_IP1 (formato da Local_Host_IP
+ ( 1 < i < 255 )) agli elementi di un array (o di una struttura, o di un Array costruito con le API della piattaforma per la quale sto scrivendo il Plugin) ottengo che yutti gli elementi dell'array hanno lo stesso valore: il valore che assume Local_Host_IP1
nell'ultimo ciclo. Essendo gli elementi dell'array (char *) puntantori alla variabile non mantengono il valore della stessa nel momento in cui gli viene assegnata.

}

1. Mi sono spiegato?
2. Come posso ovviare al problema?
3. Ho sbagliato completamente approccio?
4. Consigli?

Grazie
1)Fai un esempio concreto di input ed output della funzione
2)Posta più codice

Ovviamente se ne riparla dopo capodanno Buona anno!