====== getc() ======
''getc()'' ist in der ''[[c:lib:stdio:start|stdio]]'' definiert, die in C über ''stdio.h'', bzw in C++ über ''cstdio'' eingebunden wird.
===== Funktion =====
''getc()'' liest ein Zeichen vom übergebenen Stream und äquivalent zu ''[[fgetc()]]''. ''[[fgetc()]]'' ist zu bevorzugen, da ''getc()'' als Makro implementiert sein kann.
===== Signatur =====
#include 
int getc( FILE * file );
**file**: Ein gültiger Stream, aus dem gelesen werden kann. \\
\\
**Return value**: Ein unsigned char, der als Integer zurückgegeben wird oder EOF beim Dateiende.
===== Fehlerquellen =====
siehe [[inputtrouble|Fehlerquellen bei Standard-Eingabefunktionen]].
===== Beispiel =====
Folgendes Programm fragt solange nach, bis ein 'x' eingegeben wurde:
#include 
#include 
int main ()
{
  int c = 0;
  while( c != 'x' )
  { 
    printf( "Bitte geben Sie einen Buchstaben ein: " );
    fflush( stdout ); 
    c = getc( stdin );
    printf( "Sie gaben folgenden Buchstaben ein: %c\n", c );
  } 
  return EXIT_SUCCESS;
}
**Ausgabe**:
  Bitte geben Sie einen Buchstaben ein: x
  Sie gaben folgenden Buchstaben ein: x
Hierbei muss nach der Eingabe des Buchstabens die Return-Taste gedrückt werden, damit das Programm auf die Eingabe reagiert.
**Aber:**
  Bitte geben Sie einen Buchstaben ein: a
  Sie gaben folgenden Buchstaben ein: a
  Bitte geben Sie einen Buchstaben ein: Sie gaben folgenden Buchstaben ein: 
  
  Bitte geben Sie einen Buchstaben ein: x
  Sie gaben folgenden Buchstaben ein: x
Was ist passiert? 
Beim der zweiten Eingabe wird 1 Buchstabe aus dem Eingabestream gelesen, der kein 'x' ist. Damit verbleibt das "Return-Zeichen" im Eingabestream, das notwendig war, damit der Buchstabe überhaupt bemerkt wird.
''getc()'' reagiert also nicht nur auf ein Zeichen:
  Bitte geben Sie einen Buchstaben ein: Hallo
  Sie gaben folgenden Buchstaben ein: H
  Bitte geben Sie einen Buchstaben ein: Sie gaben folgenden Buchstaben ein: a
  Bitte geben Sie einen Buchstaben ein: Sie gaben folgenden Buchstaben ein: l
  Bitte geben Sie einen Buchstaben ein: Sie gaben folgenden Buchstaben ein: l
  Bitte geben Sie einen Buchstaben ein: Sie gaben folgenden Buchstaben ein: o
  Bitte geben Sie einen Buchstaben ein: Sie gaben folgenden Buchstaben ein: 
  
  Bitte geben Sie einen Buchstaben ein: x
  Sie gaben folgenden Buchstaben ein: x
===== siehe auch =====
[[:|stdio]]: [[getchar()]], [[fgetc()]], [[putchar()]]