Zeichen einlesen?

Servus,

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.

Vielen Dank schon mal

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):

  1. 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.

  2. 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)