Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
int zeichen;
FILE *infile_p;
while(fgetc(infile_p) != EOF) { ... } // *1
while((zeichen = fgetc(infile_p)) != EOF) { ... } // *2
Sorry wenn ich dich da korrigiere, aber der Datentyp geht normalerweis, (ist ein wenig Compilerabhängig) von -128 bis 127, das was du meinst ist unsigned char. Auserdem ist es nicht ganz richtig, das EOF=-1 ist, sondern EOF=0 oder '\0' deshalb, kann man schon den Datentyp char verwenden.btw: die variable zeichen muss ein integer sein, weil ein char nicht ausreicht. das eof-zeichen liegt nicht mehr im wertebereich von char-typen. typischerweise ist der wert für eof nämlich -1 - und char geht nur von 0 bis 255.
aus guido krüger: c-programmierung (addison-wesley), seite 346Der Grund für die Verwendung von int liegt tiefer. Die Konstante EOF, die das Ende der Eingabe anzeigt, ist meist als -1 definiert, denn sie darf nicht mit einem normalen Zeichen kollidieren. Während reine ASCII-Systeme früher lediglich Zeichen im Wertebereich von 0...127 produzierten, kommt es heute regelmäßig vor, daß auch Zeichen mit einem Code größer 127 gelesen werden, insbesondere bei der Verwendung europäischer Sonderzeichen.
Würde ein C-Compiler char-Typen vorzeichenbehaftet darstellen, könnte er zwar das EOF korrekt behandeln, würde aber keine Zeichen mit Codes größer 127 bearbeiten. Wäre der char-Typ dagegen vorzeichenlos, könnten zwar alle Zeichen mit einem Code zwischen 0 und 255 dargestellt werden, aber das EOF hätte keinen Platz mehr. [...]
Das ist warscheinlich das Problem, bzw. darum hatte ich nie Probleme mit char.das mit dem \0-zeichen bezieht sich nur auf text-dateien, weil ein string nach dem null-zeichen abgeschlossen ist und nicht weiter dargestellt wird.