linux user group brescia

immagine del castello

Archivio della mailing list

programmino in C

Maurizio Paolini paolini a dmf.unicatt.it
Lun 4 Nov 2002 15:13:18 UTC
> From: marco <supermac2 a inwind.it>
>
> Ciao ragazzi... 
> perche' questo programmino viene compilato senza errori (con l'istruzione gcc
> prova.c -o prova) , ma quando lo eseguo mi dice "Segmentation fault(core
> dumped)"???Che succede?Il problema e'nella riga di fgets...

Ti sei semplicemente dimenticato di allocare il buffer per la stringa:

   buffer=(char *) malloc ((BUFSIZ+1)*sizeof(char));

Il "+1" ce lo metto perche' al momento non ricordo esattamente il
comportamento di fgets riguardo allo '0' di terminazione stringa.

mp


>
> #include <stdio.h>
>
> int main () {
>   FILE * pFile;
>
>   char * buffer;
>
>   pFile = fopen ( "/etc/tesi.conf" , "rb" );
>   if (pFile==NULL) exit (1);
>
>   while (fgets(buffer,BUFSIZ,pFile))
>   {
>   	printf("\n%s\n",buffer);
>   }
>   fclose (pFile);
>
>   return 0;
> }
>



Maggiori informazioni sulla lista Lug