Wenn ich versuche, mein Programm auszuführen, bekomme ich die falsche Anzahl von Zeilen gedruckt.C-Funktion, die Zeilen in Datei zählt
LINES: 0
Dies ist die Ausgabe obwohl ich in meiner .txt-Datei
Hier mein Programm fünf Linien haben, ist:
#include<stdio.h>
#include<stdlib.h>
int countlines(char *filename);
void main(int argc, char *argv[])
{
printf("LINES: %d\n",countlines(argv[1]));
}
int countlines(char *filename)
{
// count the number of lines in the file called filename
FILE *fp = fopen(filename,"r");
int ch=0;
int lines=0;
if (fp == NULL);
return 0;
lines++;
while ((ch = fgetc(fp)) != EOF)
{
if (ch == '\n')
lines++;
}
fclose(fp);
return lines;
}
Ich bin sicher, dass es ein einfacher Fehler ist, aber ich bin neu auf Programmierung. Jede Hilfe würde sehr geschätzt werden.
Sie sollten einen Titel geben, die den Fehler zusammenfasst, nicht das, was Sie tun, wenn Sie bekommen der Fehler. – Nobody
Vergleicht man ein 'char' mit' EOF', wird nach Problemen gefragt. –
Warum, @CarlNorum? – corazza