Ciao,
pubblico anch'io la mia versione a solo scopo didattico. Come ho già scritto sono un studente un po' in là con gli anni che sta facendo di tutto per imparare. Mi scuso se ritorno qui dopo giorni ma, come avrete letto, sono stato impegnato anch'io con un esercizio.
Non ricordo benissimo nemmeno la logica con cui ho cominciato a scrivere il programma, ma oggi l'ho terminato così:
//Autore
#include <stdio.h>
#include <string.h>
#define dim 200
#define dim1 1
#define max_s 100
int analizzastringa(char str[], char c, int conteggio);
int main(){
char q[dim]={0};
FILE * fp;
char c='a';
fp= fopen("ciao.txt", "r");
if(fp==NULL){
printf("errore nell'apertura del file");
}else{
while(fscanf(fp,"%s",q)!=EOF) {
if((analizzastringa(q,c,1)==1) && q[0]==c) {
printf("%s ", q);
}else{
}
}
}
fclose(fp);
return 0;
}
int analizzastringa(char str[], char c, int conteggio)
{
int i;
int lunghezza_stringa;
int contatore_caratteri=0;
lunghezza_stringa=strlen(str);
for (i=0; i<lunghezza_stringa; i++)
if(str[i]==c) contatore_caratteri++;
if(contatore_caratteri==conteggio) return (1); //Se il numero è uguale a conteggio ritorna 1
else
return (0);
}