Zeichen von der Tastatur einlesen - zeichenweise?

alphaChill

Mitglied
Hallo,

weiß jemand, wo ich infos zum dem Thema "Zeichen zeichenweise von der Tastatur einlesen" herbekomme oder kann es mir jemand sogar erklären?

Habe hier ein paar Codeschnippsel, die ich allerdings nicht wirklich irgendetwas zuordnen kann:
Code:
fgetc(FILE* fp);
charc = fgetc(fp);
while((c = fgetc(fp)) != EOF) printf("%c", c);
fputc(intzeichen, FILE *fp);
fputc(c, fp);

Was macht "fgetc"?
Es gibt einen Datentyp "FILE"?

Stehe etwas auf dem Schlauch :(
 
Hi,

FILE ist kein Datentyp an sich, sondern eher ein struct mit mehreren Feldern.
fgetc() liefert aus einer Datei ein Zeichen.

Dein Codeschnipsel liest eine Datei aus und gibt den Inhalt Zeichen für Zeichen auf dem Bildschirm aus.

Um von der Standardeingabe (Tastatur quasi) zu lesen, gibt es die getchar() Funktion, mehr steht hier.

Gruß
BK
 
Zuletzt bearbeitet:
Danke schonmal für deine Antwort!

In deinem für "FILE" angegeben Link wird erwähnt in welcher Header-Datei man das struct unter Linux findet, gibt es da auch ein Pendant unter Windows (7)?
 
FILE ist ein Typ aus dem ANSI C Standard und ebenso ein Typ wie andere, dass er eine Struktur ist, ist völlig irrelevant, er bleibt ein Typ.
FILE ist im ANSI C Standard-Header <stdio.h> deklariert, insofern erübrigt sich deine Frage Linux/Windows, ANSI C ist ANSI C sowohl in Linux, Windows oder sonstwo, wo ein ANSI C Compiler vorliegt.
Ein Beispiel für standardkonformes zeichenweises Einlesen eines Zeichens von der Tastatur wäre:
C:
#include <stdio.h>
...
int c;
...
c=getchar(); while( c!=EOF && c!='\n' && getchar()!='\n' );
/* while-Schleife sehr wichtig, hier wird der Eingabepuffer standardkonform gelöscht was Probleme bei folgenden Eingaben verhindert */
printf("\ngelesenes Zeichen: %c -- ASCII-Wert des Zeichens: %d",c,c);
 
Zurück