Salve,come scritto nel titolo ho un problema con esercizio sulle liste dove però non capisco se è legata ad un allocazione dinamica sbagliata o all'apertura del file. Permetto che ho sempre avuto problemi con i file e la funzione malloc , per quanto ho guardato molti esempi in cui venivano usati non riesco ad usarli correttamente.
L'esercizio è semplice ed ho idea di come va risolto:
"Dato un file di testo contenente numeri interi,leggere il file e costruire una lista dinamica l,stampare la lista dinamica in modo che l'ordine sia quello del file"
il codice:
codice:
#define _CRT_SECURE_NO_WARNINGS
#include "primitive.h"
list insert(int a,list l){
list t;
t=(list)malloc(sizeof(item));
t->value=a;
t->next=l;
return t;
}
list crealista(list l,FILE *f){
int i,a;
list root;
root=(list)malloc(sizeof(item));
for(i=0;i!=feof(f);i++){
fscanf(f,"%d",&a);
root=insert(a,root);
}
l=root;
return l;
}
void stampalista(list l){
while(l!=NULL){
printf("%d\t",l->value);
l=l->next;
}
return;
}
main(){
list l;
FILE *f;
if((f=fopen("Numeri.txt","rt"))==NULL)
printf("File non trovato.");
l=(list)malloc(sizeof(item));
crealista(l,f);
stampalista(l);
close(f);
}
Grazie dell'aiuto