Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2005
    Messaggi
    396

    [C] Problema inserimento in lista

    Salve a tutti

    ho creato una lista con 1 int e 1 char e 1 puntatore char.

    quando inserisco nella lista e metto tutti i parametri sia nell'int che nei 2 char si inseriscono bene
    ma quando ne vado a inserire un'altro mi modifica la stringa che ho gia messo.

    da cosa puo dipendere?

    questo e il mio codice dell'inserimento

    nuovoElemento = (struct elemento*) malloc(sizeof(struct elemento));
    nuovoElemento->numero_parole=1;
    nuovoElemento->parola = (char *) malloc(sizeof(char)*(numerolettere));
    strncpy(nuovoElemento->parola,parola,numerolettere);

    il problema quando alloco un'altra partizione di memoria adatta per nuovoElemento lui da solo mi modifica la stinga precedente del *char mi aggiunge un carattere strano al posto della teminazione che avevo effettuato.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,462
    Ricorda che per la stringa devi prevedere lo spazio per il carattere terminatore (NULL).

    Quindi devi allocare numlettere+1 ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.