ho guardato un pò il codice e comunque quoto pienamente quello che dice Stoicenko, che il codice va postato nei tag appositi...comunque, è corretto fondamentalmente, era sbagliato solo nella gestione delle stringhe nella funzione di insert, ovvero qua:
non puoi mica gestire con i puntatori queste stringhe, questo perchè al secondo inserimento, value cambia, e quindi newPtr->stringa va a puntare a value che è diventata una stringa diversa! in questo caso devi prima allocare la newPtr->stringa della dimensione di value+1(per il terminatore di stringa) e copiare le stringhe con la strcpy() value in newPtr->stringa, in codice così:codice:... if(newPtr != NULL){ newPtr->stringa = value; newPtr->nexPtr = NULL; ...
codice:newPtr->stringa = (char*)malloc((strlen(value)+1)*sizeof(char)); if ( newPtr->stringa == NULL ) { printf ("Memoria non disponibile\n"); system ("pause"); exit(1); } strcpy ( newPtr->stringa, value );

Rispondi quotando