- Codice:
extern unsigned int contalettere(const char* nomefile);
la funzione accetta come parametro un nome del file da aprire in modalità tradotta. La funzione deve contare il numero di lettere presenti nel file e ritornarlo. con lettere si intendono i caratteri delle lettere dell'alfabeto inglese non accentate, sia minuscole che maiuscole.
il mio main.c:
- Codice:
#include "conta.h"
int main(){
char str1[] = "contolet.txt";
int ris = contalettere("contolet.txt");
return 0;
}
il mio file.c è
- Codice:
#include "conta.h"
unsigned int contalettere(const char* nomefile){
FILE *f = fopen(nomefile, "rt");
char c = 0;
int i = 0;
while ((c = getc(f)) != EOF){
if ((c>65 && c<90) || (c>97 && c<122)){
i++;
}
}
fclose(f);
return i;
}
il mio file.h è:
- Codice:
#if !defined CONTA_H
#define CONTA_H
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>
extern unsigned int contalettere(const char* nomefile);
#endif
non capisco perchè il mio programma non funziona bene, cioè quando legge ciò che c'è all'interno del file, mi legge dei caratteri in meno, ma non capisco perchè...