Hallo
ich will eine Zeichenkette aus einer Datei einlesen. Woher
kommt es, dass ich nicht alle möglichen 256 Zeichen mit
fgetc(FILE *) in einem Dos-Programm in 256 Feld einlesen kann?
Fehler bei dem 27.Zeichen! Rückgabewert -1. Der nächsten
Zeichen werden dann auch alle mit diesem Wert versehen.
Dateien können auf zwei Arten geöffnet werden (du musst die entsprechenden Parameter beim öffnen angeben):
-
text:
In diesem Modus werden verschiedene Zeichen interpretiert z.B. 0x0D (13) und 0x0A (10) werden als Zeilen-Ende-Marke gewertet (damit z.B. fgets() funktioniert und 0x1B (27) wird als Datei-Ende gewertet (das kommt noch aus der alten Zeit von CP/M und MS-DOS)…
Text-Mode ist normalerweise Standart.
-
binary:
In diesem Modus werden keine Zeichen ausgewertet.
Der Rückgabewert -1 bedeutet EOF (EndOfFile).
Der Rückgabewert von z.B fgetc() sollte immer als int ausgewertet werden. Ist der Wert im Bereich 0 bis 255 ist alles OK, ist er negativ ist das eine Fehlermeldung.
MfG Peter(TOO)