So beenden Sie ein Programm mit Strg-D?
Ich versuche zu schreiben ein einfaches Programm, das simuliert einen Taschenrechner. Ich möchte das Programm zu beenden oder ausschalten, wenn das Strg+D Tastatureingabe erfolgt. Ich durchsuchte stackoverflow und sah andere Beispiele für Strg+C oder Strg+ aber die Beispiele sind in java und C.
C:
(scanf("%lf", &var);
für java, eine SIGINT
wird ausgelöst, wenn Strg+Z gedrückt wird.
signal(SIGINT,leave);
for(;;) getchar();
Frage ich mich, was kann ich für Sie Strg+D in C++...
Vielen Dank an alle!
Brauchen wirklich mehr Informationen über diese, wie in welcher Umgebung Sie ausgeführt. Verschiedene Muscheln-und GUI-widgets werden interecpt spezielle Zeichen, wie dies für Ihre eigenen Zwecke zu benutzen, und kann oder kann nicht haben, wie man das ausschalten.
InformationsquelleAutor Ken | 2010-12-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie brauchen, um zu beenden mit Ctrl-D beim Lesen der Eingabe.
InformationsquelleAutor T. Obadiah
Strg+D wird die Ursache der stdin-Datei-Deskriptor zurück Ende-der-Datei. Alle Eingabe-Lesen-Funktion wird dies widerspiegeln, und Sie können das Programm dann zu beenden, wenn Sie erreichen das Ende der Datei. Übrigens, das C-Beispiel, soll die Arbeit wortwörtlich in C++, obwohl es möglicherweise nicht die meisten idiomatischen C++.
Ist dieses Hausaufgaben? Wenn ja, bitte markieren Sie Sie als solche.
Nicht sagen, wie das zu tun, was OP ist zu Fragen, für in c++.
InformationsquelleAutor Will Robinson
Könnte man das Leben erleichtern und die Suche nach einem keyword wie "quit" oder "exit". Letztes mal habe ich einen Rechner, der diese Worte waren nicht auf der Tastatur.
Viele einfache Rechner-Programme Lesen Sie die Eingabe als text, abgeschlossen durch eine newline. Sie analysieren den text im Speicher, dann ausspucken eine Antwort.
Andere anspruchsvollere Rechner-Programme verwenden windows und sind ereignisgesteuert. Einige verwenden einer Taste wie"=", um zu signalisieren Ende der Eingabe und start der Berechnung (funktioniert nicht auf RPN-Taschenrechner).
Diese Techniken entfernen Sie den Aufwand der Bestimmung Ende Der Text-Eingabe über ein Steuerelement-Zeichenfolge und sind mehr tragbar.
InformationsquelleAutor Thomas Matthews
Unter Unix, das terminal interpretiert wird Strg+D (auf eine leere Zeile) als Ende der Eingabe; weiter liest aus
stdin
zurückEOF
, die Sie beobachten können.InformationsquelleAutor J. C. Salomon
Strg+D auf Unixy Plattformen ist EOF. Wenn Sie immer jedem char, können Sie überprüfen, um zu sehen, wenn Sie bekam EOF.
InformationsquelleAutor Lou Franco