Un altro problema... Quando vado a controllare un occorrenza nel file mi da segmentation fault prima di "trovata= strstr(ch, parola);"
Il prototipo è:
codice:
void ricercaParolaNelFile(FILE *pFile, char *parola);
Alloco memoria per "parola":
codice:
char *parola= (char *) malloc (100*sizeof(char));
La vado a leggere da tastiera:
codice:
scanf("%s", &parola);
Richiamo la funzione così:
codice:
ricercaParolaNelFile(pFile, parola);
Corpo della funzione che viene letto fino a "printf("4 ok\n");", dopodichè, segmentation fault...
codice:
void ricercaParolaNelFile(FILE *pFile, char *parola){
printf("1 ok\n");
char ch;
printf("2 ok\n");
char *trovata= (char *) malloc (100*sizeof(char));
printf("3 ok\n");
while( ( ch = getc(pFile) ) != EOF ){
printf("4 ok\n");
trovata= strstr(ch, parola);
printf("5 ok\n");
}
if(trovata==NULL){
printf("\n\n\nParola non trovata...");
exit(1);
} else {
printf("\n\n\nParola trovata... ");
exit(1);
}
}
Cosa ne pensate? Quale puo essere il problema?