Untitled
unknown
c_cpp
10 months ago
1.9 kB
4
Indexable
/*
Scrivere un programma che chiede all’utente il nome di una serie di file di testo (ciascuno di al più 30 caratteri) presenti nel file system e per ciascuno
di essi conta il numero di caratteri in essi presenti. Il programma termina quando l’utente fornisce il nome di un file non accessibile e visualizza il
numero totale di caratteri di tutti i file cui si è fatto accesso ed il nome del file con più caratteri.
/Anna/'esempio.txt' --> 14 ('ciao come stai')
/Anna/'esempio2.txt' --> 15
/Anna/'esempio3.txt' --> 25
/Anna/'esempio4.txt' --> 38
'esempio44.txt'
scanf("")
file = fopen(filename, "r");
*/
#include <stdio.h>
#include <string.h>
#define MAX_FILENAME 31 // 30 caratteri + terminatore
int main() {
char filename[MAX_FILENAME];
char max_filename[MAX_FILENAME] = "";
FILE *file;
int continua = 1;
int caratteri_file=0;
char ch;
int caratteri_totali=0;
int max_caratteri=0;
printf("Inserisci il nome del file (max 30 caratteri");
while(scanf("%30s", filename) == 1 && continua == 1)
{
file = fopen(filename, "r"); //'esempio39.txt'
if(file == NULL)
{
continua = 0;
}else{
caratteri_file=0;
while((ch = fgetc(file)) != EOF){
caratteri_file++; //11
}
caratteri_totali += caratteri_file; //45
if(caratteri_file > max_caratteri)
{
max_caratteri = caratteri_file; // 25
strcpy(max_filename, filename); // 'esempio3.txt'
}
fclose(file);
}
}
printf("Numero totale di caratteri: %d\n", caratteri_totali);
if(max_caratteri > 0){
printf("File con piu caratteri: %s (%d caratteri)\n", max_filename, max_caratteri);
}
return 0;
}
Editor is loading...
Leave a Comment