Für mein Programm habe ich eine schnelleVerwenden EOF in der Mitte einer Eingabezeile?
>
und dann mein Programm liest aus stdin nach stdout. Die Eingabeaufforderung wird ausgeführt, wenn EOF nicht erreicht wurde. Ich habe festgestellt, wenn ich etwas eingeben, wie zum Beispiel:
> bee
Wenn ich einmal STRG-D drücken, passiert nichts. Wenn ich erneut CTRL-D drücke, erscheint meine Eingabeaufforderung erneut. Und nur wenn ich es ein drittes Mal drücke, endet mein Programm aufgrund von EOF. Bedeutet das, dass ein Problem in meinem Code vorliegt? Oder ist das normales Verhalten?
Heres eine vereinfachte Version von meinem Code:
(fopen used)
(print prompt)
while((fgets(tester, 1026, input)) != NULL) {
if(there is a # in tester) {
(print prompt)
continue;
}
}
Problem in welchem Code? – Shark
Die 'Strg + D' (Linux) oder' Strg + Z' (Windows) müssen der erste Tastendruck nach einer 'Newline' sein. Trotzdem habe ich ähnliche Kuriositäten bemerkt, die ich nicht lösen konnte. –
Dieser Pseudocode-Mix kompiliert nicht, und der einzige Teil, der zu analysieren scheint, hat einen Klammer-Mismatch. Bitte poste ein minimales, vollständiges Beispiel. – dlatikay