Un altro problema... Quando vado a controllare un occorrenza nel file mi da segmentation fault prima di "trovata= strstr(ch, parola);"
Il prototipo è:
Alloco memoria per "parola":codice:void ricercaParolaNelFile(FILE *pFile, char *parola);
La vado a leggere da tastiera:codice:char *parola= (char *) malloc (100*sizeof(char));
Richiamo la funzione così:codice:scanf("%s", &parola);
Corpo della funzione che viene letto fino a "printf("4 ok\n");", dopodichè, segmentation fault...codice:ricercaParolaNelFile(pFile, parola);
Cosa ne pensate? Quale puo essere il problema?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); } }

Rispondi quotando