Affichage une partie de fichier en c

Fermé
elwess20 Messages postés 26 Date d'inscription samedi 1 janvier 2011 Statut Membre Dernière intervention 15 janvier 2011 - 8 janv. 2011 à 19:06
Bonsoir mes amis,
j'ai fait un programme en c qui permet d'afficher une partie d'un fichier texte,par exemple s'il trouve le mot regle,il arrête le parcours des mot et affiche les mot précédentes,mais quand j'exécute,il me dit que c'est un erreur de segmentation,s'il vous plait aidé moi a trouvé cette erreur,et merciii
#include<stdio.h>
#include<stdlib.h>
#include<string.h>


int main(void) {
FILE *fp;
char buffer[BUFSIZ];
char *tab;
fp=fopen("donnee.txt","r"); 
    if(fp==NULL)
{ 
		fputs("erreur à l'ouverture du fichier\n",stderr);
		return EXIT_FAILURE; 

}

while(fgets(buffer, sizeof(buffer),fp)) {
char *c=strchr(buffer,'\n');
  if(c!=NULL)
  {
  *c='\0';
  }
tab = strtok(buffer,'\0');

if((tab != NULL) ||(strstr(tab,"regle"!=NULL)))
{
printf("%s",tab);
}
}
fclose(fp);
return 0;
}




merci bcp