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é?