Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
-
Tagedieb
- Beiträge: 197
- Registriert: 05.02.2006 20:26:18
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von Tagedieb » 05.09.2008 22:02:23
Code: Alles auswählen
#include <stdio.h>
#include <stdlib.h>
int main(void){
FILE *infp;
int c;
int spaces = 0;
//Prüfe ob die Datei geöffnet wurde
infp = fopen("/home/micha/Desktop/count.txt", "r");
if( infp == NULL ){
printf("Fehler beim Öffnen der Datei\n");
return EXIT_FAILURE;
}
else{
printf("Datei erfolgreich geöffnet.\n");
while( (c = fgetc(infp) != EOF))
if( c == ' ')
spaces++;
}
printf("Die Datei enthält %d Leerzeichen.", spaces);
fclose(infp);
return EXIT_SUCCESS;
}
Ich find den Fehler nicht ... Möchte aus einer einfachen Textdatei die Leerzeichen zählen...
Viele Grüße
Zuletzt geändert von
Tagedieb am 05.09.2008 22:16:21, insgesamt 1-mal geändert.
-
GoKi
- Beiträge: 2068
- Registriert: 04.07.2003 23:08:56
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von GoKi » 05.09.2008 22:12:34
Du musst auf die korrekte Klammerung achten.
Also hier der entsprechende Ausschnitt.
Code: Alles auswählen
while( (c = fgetc(infp)) != EOF)
if( c == ' ')
spaces++;
Also (c = fgetc(infp)) != EOF statt (c = fgetc(infp) != EOF) als Bedingung in der While-Schleife.
MfG GoKi
:wq
-
Tagedieb
- Beiträge: 197
- Registriert: 05.02.2006 20:26:18
- Lizenz eigener Beiträge: MIT Lizenz
Beitrag
von Tagedieb » 05.09.2008 22:15:47
Tausend Dank !!!
Das wars natürlich. Komm mit den Klammern immer wieder gerne durcheinander.
Viele Grüße