Texteditor für Konsole programmieren



  • SirLant schrieb:

    Zu 1. cin.get ()

    Muhahahaha, getch und std::cin.get () soll äquivalent sein? Muhahahahahaaa bitte hör auf, ich kann nicht mehr, muhahahaha 😃

    Der war gut.



  • C++ Standard Library A Tutorial And Reference schrieb:

    int istream::get ()

    Reads the next character.

    Returns the read character or EOF.

    Jetzt streng dein Hirn an und sieh mal oben nach, was er machen möchte mit dem getch()

    Abgesehen davon: lern lesen!

    Kann ich das getch() durch eine Methode von cin ersetzen? Wie?

    Ich sehe hier nichts von äquivalent, nur ob es eine Methode in der istream Klasse gibt, welche ein Zeichen aus stdin liest.



  • jetzt streng du mal dein Hirn an, denkst du er will nach jedem Buchstaben in einem Texteditor RETURN drücken? Ich glaube nicht.



  • nix da schrieb:

    jetzt streng du mal dein Hirn an, denkst du er will nach jedem Buchstaben in einem Texteditor RETURN drücken? Ich glaube nicht.

    Dies war nie der Punkt um den sich seine Frage drehte.

    Edit:

    Ich hab jetzt mal etwas getestet und mit folgender Methode, kann ich fast ohne
    Probleme im Text vorwärts und ruckwärts navigieren und löschen:

    #include <conio.h>
    #include <iostream>
    using namespace std;
    
    int main () {
    
    	char c;
    
    	while (c = getch ())
    		cout << c;
    
    }
    

    Ich kann einfach die Backspace Taste benutzen um den Cursor zu verschieben und
    dann weiterschreiben und den alten Text überschreiben, die überflüssigen Zeichen
    kann man einfach mit ner Leertaste "löschen".
    Ist doch ganz komfortabel so



  • Ich glaube es ist unmöglich einen _bequemen_ Editor mit der Standard-C++-Library zu schreiben...

    Guck dir mal ncurses oder so an.



  • Hmm..
    Da wurde ein Einwand nicht ganz registriert..
    Also ich denke schon, dass du einen Konsolen-Editor schreiben kannst..
    Ich hab mir früher einfach nen Framebuffer gefüllt undden dann ausgegeben.. ist nicht die schönste Variante für nen Editor aber bei irgendwelchen Intros ne lustige Sache...



  • SirLant schrieb:

    Dies war nie der Punkt um den sich seine Frage drehte.

    Da muss ich nix da leider Recht geben. cin.get() ersetzt getch() in keinster Weise, weder vom Handling noch vom Ergebnis (denn ich bin mir nicht sicher ob cin.get() auch Steuerzeichen liefert). Da ich letztens selbst das Problem hatte, würde mich das ebenfalls interssieren wie man getch() mit std Funktionen ersetzen kann.



  • der Stream wird IMMER erst gefüllt, wenn die Enter-Taste gedrückt wurde. Und ein Stream ist auch nix zum 'mit-dem-(Consolen)-Curser-drin-rumnavigieren. Der einzige Tastendruck, auf den man sofort reagieren kann ist die Enter-Taste.

    Ein Stream ist ein Stream und keine Console. Standard-C++ kennt keine Consolen. Da brauchst Du ne entsprechende Bibliothek.



  • Der Bibliothekar heißt in diesem Fall Konsolen-FAQ 😉

    MfG SideWinder



  • Dieser Thread wurde von Moderator/in davie aus dem Forum C++ in das Forum DOS und Win32-Konsole verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten