Wurstbrot schrieb:
> Wenn ich nun die Shifttaste drück und was eingebe, steht vor der Eingabe
> ein ^@.
> Bestätige ich die Eingabe, wird nichts angezeigt.
> Hat jemand eine Idee?
Bei Terminals wird, wenn das echo Eingeschalten ist, und von der Eingabe
ein Steuerzeichen kommt, normalerweise statdessen eine Escapesequenz
angezeigt.
Bei ^@ wäre das ein null byte. Das ist auch der String Terminator in C.
Angenommen, da ist wirklich ein null byte in stdin, wirst du mit gets
und fgets und printf alleine nicht weiterkommen. fread & getc müssten
glaube ich gehen, vor der Ausgabe musst du die Sonderzeichen aber halt
eventuell entfernen oder ersetzen, zumindest die Nullbytes, und du wirst
dir zumindest beim Einlesen die Anzahl eingelesene Bytes merken müssen,
falls du die Nullbytes nicht sofort herausfilterst.