Errore di segmentazione nella lettura di un file

di il
3 risposte

Errore di segmentazione nella lettura di un file

Ciao a tutti mi sto approcciando al linguaggio Ce sto trovando difficoltà nella lettura di un file, il problema credo che sia nella memorizzazione in struttura ma non riesco a risolverlo e mi da sempre errore di segmentazione vi allego il codice
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define BUFF 50
#define DIM 50

struct accessi{
	int giorno,ora,durata;
};

void memorizzo(char *nome){
	
	FILE *fp;
	int i=0;
	char riga[BUFF];
	fp=fopen(nome,"r");

	if(fp==NULL){
		printf("Il file %s non esiste",nome);
		exit(-1);
	}

	struct accessi acc[DIM];
	
	while(fgets(riga,sizeof(riga),fp)!=NULL){
		sscanf(riga,"%d %d %d",&acc[i].giorno,&acc[i].ora,&acc[i].durata);
		i++;
	}
	fclose(fp);
	
}

int main(int argc, char *argv[]){

	char nomefile[DIM];
	int righe=12;

	if (argc<2){
	printf("Uso %s <nome_file>\n",argv[0]);
	return 1;	
	}

	sscanf(argv[1],"%s",nomefile);	
	memorizzo(nomefile);		

	struct accessi acc[DIM];
	int k;
	for(k=0;k<righe;k++)
	printf("%d %d %d\n",acc[k].giorno,acc[k].ora,acc[k].durata);
	
return 0;
}
Grazie in anticipo a tutti.

3 Risposte

Devi accedere o registrarti per scrivere nel forum
3 risposte