Buonasera.
Volevo:
-leggere dati da un file ("deposito.txt") così composto:
codice1 numero_codice1
codice2 numero_codice2
.. ;
-inserire i dati in una adeguata struttura.



codice:
 
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

typedef struct{
	char *code;
	int num;
}prodotto;

int main(){
	prodotto *sp=malloc(5*sizeof(prodotto));
    FILE *fp=fopen("deposito.txt","r");
 	int i,lenght,n=5;
	char buff[1000],temp[1000];
	for(i=0;i<n;i++){
		fgets(buff,sizeof(buff),fp);
		sscanf(buff,"%s %d",temp,&((sp+i)->num));

		lenght=strlen(temp)+2;

		((sp+i)->code)=(char*)malloc(lenght*sizeof(char));
		((sp+i)->code)=temp;

	}
	for(i=0;i<n;i++)
	printf("\nprodotto: %s , numero:%d\n",(sp+i)->code,(sp+i)->num);

	return 0;
}
La funzione che ho implementato, però , inserisce nelle strutture:
-il codice dell'ultimo elemento della lista,
-i numeri adeguati.

Perché?