Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    162

    progarmma in C - Linux segmetation fault

    Ciao io ho fatto un semplice programmino
    che vi posto:

    codice:
    #include <stdio.h>
    
    int main ()
    {
    int i=0;
    char x, y[6];
    FILE *p1,*p2;
    p1=fopen("/home/matteo/c/voce.txt","r");
    if (p1!=NULL)
    {
     while (!feof(p1))
     {
    	 x=fgetc(p1);
    			y[i]=x;
    			i=i+2;
     }
     i=1;
    while (i!=7)
    {
     y[i]=',';
     i=i+2;
    }
    fclose(p1);
    }
      p2=fopen("/home/matteo/c/voce1.txt","w");
      if (p1!=NULL)
    	{
    	 for (i=0;i<6;i++)
    	 fprintf(p2,"%c",y[i]);
    	}
      fclose(p2);
    return 0;
    }
    Il compilatore di linux gcc mi da un errore
    $segmentatio fault
    Che cosa devo fare per fare per risolvere il tutto?

  2. #2
    segmentation fault succede quando il programma cerca di accedere a zone di memoria non allocate o non permesse, quindi è il programma stesso che può dare errori di segmentation fault, non il compilatore (edit: oppure hai trovato un bug di gcc che provoca il suo segfault ma è improbabile )

    da quello che ho letto posso azzardarti l'ipotesi che la variabile i del primo loop che fai mentre leggi da file finisce - se il file è troppo grande - con l'andare fuori del range dell'array che hai inizializzato e quindi cerca di scrivere su celle di memoria non allocate (es: y[6]).
    mettici un if(i>=6) break; nel while in modo che non continui per tutto il file.
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    156
    il *gcc* ti da segmentation fault?

    -EDIT-
    sorry , anticipato

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    162
    grazie GreyFox86 mi sa che è così come dici tu.....

    si mi da segmentation fault...

  5. #5
    figurati. facci sapere quando hai risolto
    GreyFox (Linux registered user #435102)
    greyfox.imente.org - GreyFox's shots (photo gallery)
    $ cd /pub
    $ more beer

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.