Salve a tutti ragazzi, ho il seguente problema ho un struttura simile a questa:
typedef struct {
int d;
char *nome;
}prova_t;
Ora io uso la funzione strtok per prelevare un valore da una stringa esempio:
char * tmp;
prova_t* p = (prova_t *)malloc(sizeof(prova_t));
p->d = ((tmp = strtok(buffer, " ") != NULL) ? strtod(tmp,NULL) : 0);
p->nome = strtok(NULL," ");
printf("%s, %d\n",p->d,p->nome);
Ora avendo verificato che strtok non restituisce NULL, e che la printf stampa valori corretti, se da main faccio una printf di p->nome viene resituito un valore "sporco" della memoria, mentre di p->d il valore corretto, come potrei fare? E per quale motivo fa cosi?
Grazie