Wie der Titel sagt, im Word-Count-Clone-Programm in C schreiben, aber zählt nicht richtig in einem der Fälle. Ich habe Datei und das Programm funktioniert gut, .txt, aber wenn ich den folgenden Befehl verwendenWord Count Programm in C zählt nicht richtig
linux>./wordcountclone < file.txt
es nur die Hälfte die Worte zählt. Mache ich etwas falsch? , wenn ich zum Beispiel verwenden
linux>./wordcountclone file.txt
oder
linux>./wordcountclone -l -d file.txt
funktioniert gut. geht hier die Funktion im
void fileO(FILE * name, int car, int word, int lin, int dig){
int c , nl, np, nc, nd, state;
state = OUT;
nl = nc = nd = 0;
np = -1;
c = fgetc(name);
while (c != EOF){
c = fgetc(name);
nc++;
if(nc > INT_MAX)
return;
if (c == '\n')
nl++;
if (c > 47 && c < 58)
nd++;
if (c == ' ' || c == '\n' || c == '\t')
state = OUT;
if (state == OUT) {
state = IN;
np++;
}
}
if(lin !=0)
printf("lines %d ", nl);
if(word != 0)
printf("words %d ", np);
if(dig !=0)
printf("digits %d ", nd);
if(car != 0)
printf("chars %d ", nc);
printf("\n");
}
und die TXT-Datei, die i
the cat sat on the mat
the dog jumped over the moon
Konsistente und lesbare Einrückung ist wichtig wenn Sie hier einen Code eingeben. So wie es ist, haben Sie es schwer zu lesen gemacht. – crashmstr
Wie läuft es, wenn es funktioniert? – Mawg
Könnten Sie Ihren Beispieltext hinzufügen? – xvan