Zdravím, pokusil jsem si napsat skript na počítání znaků, kde chci zjistit, kolik znaků je na nejdelším řádku:
#include <stdio.h>
#include <string.h>
#define CHYBA {printf("Soubor se nepodarilo otevrit/zavrit"); return 1;}
FILE *fr;
int otevri(void) {
return((fr=fopen("DOPIS.TXT","r")) != NULL);
}
int zavri(void) {
return(fclose(fr) != EOF);
}
int cti_radek(void) {
int delka=0, c=0;
while((c=getc(fr)) != EOF) {
if(c == '\n') {
return(delka+1);}
else {
delka++;
}
}
return EOF;
}
int main(void) {
int nejdelsi=0;
int aktualni=0;
if(otevri() == 0) {
CHYBA
}
while((aktualni=cti_radek()) != EOF) {
if (aktualni > nejdelsi) {
nejdelsi = aktualni;
}
}
printf("Delka nejdelsiho radku je %d\n", nejdelsi);
if (zavri() == 0) {
CHYBA
}
return 0;
}
Jenže neustále mi to vrací hodnotu 49. Dokázal by mi někdo pomoci najít chybu? Díky