Buonasera, scusate dell'ora tarda però non riesco a risolvere questo esercizio dove si consideri un file di testo contenente solo parole separate da uno o più separatori (spazi e simboli di "a capo"). Suddetto file viene aperto in lettura e chiuso dalla funzione main che scrive nella stringa s la parola più lunga contenuta nel file. Nel caso di più parole di uguale lunghezza deve scrivere la prima incontrata.
Un piccolo esempio:
contenuto del file parola_piu_lunga_01.dat:
uno
due tre
quattro
cinque
tredici
esecuzione:
nome file: parola_piu_lunga_01.dat
parola piu` lunga: quattro
grazie in anticipo!
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
void parola_piu_lunga (FILE *fp, char slunghmax[])
{
}
/* NON MODIFICARE NULLA NELLA PARTE CHE SEGUE */
#define DIMMAX 256
int main()
{
FILE *fp;
char filename[DIMMAX], slunghmax[DIMMAX];
printf ("nome file: ");
scanf ("%s", filename);
if ((fp = fopen (filename, "r")) == NULL)
{
printf ("errore di apertura del file %s\n", filename);
exit (EXIT_FAILURE);
}
parola_piu_lunga (fp, slunghmax);
printf ("parola piu` lunga: %s\n", slunghmax);
fclose (fp);
return EXIT_SUCCESS;
}