C++ tasten druck



  • Bei manchen Compilern gibts da Ärger zwischen dem max in windows.h und std::numeric_limitsstd::streamsize::max()

    In code::blocks läuft es z.B. problemlos, bei MSVC++ kracht es dann aber, das ist richtig.

    Dieses Problem kann man leicht ausschalten:

    #include "windows.h"
    #undef max //wegen Konflikt mit max()
    

    ... oder Du nimmst für wait() einfach die ältere Version:

    void wait() //verhindert plötzlichen "Shutdown" der Konsole
    {
        std::cin.clear(); // Error Flags werden gelöscht, damit die Eingabe sicher erfolgen kann.
    
        std::streambuf* pbuf = std::cin.rdbuf();
        std::streamsize size = pbuf->in_avail();
        std::cin.ignore(size); // löscht alle Daten im Eingabepuffer
    
        std::cin.get(); // holt genau ein Zeichen aus dem Eingabepuffer
    }
    

    ... oder getch() aus conio.h oder garnichts.

    Nun sollten keine Fehler mehr auftauchen. 😉



  • ok es gibt echt solche deppen die sich von so nem möchtegern kiddi verarschen lassen

    Das ist dein subjektiver Eindruck. Ich weiß nichts über den Fragesteller, ist mir auch völlig egal. Bevor man einen Fragesteller dumm anmacht, hält man sich entweder zurück oder gibt ihm einen konkreten Tipp. Ich bevorzuge letzteres, wenn ich gerade einen Code Snippet dieser Art herum liegen habe. Der Clou liegt nämlich nicht in der Tastenausgabe unter Windows, sondern in der Zeitsteuerung.

    Im übrigen sind mir sowohl dein als auch das schlechte Benehmen des Fragestellers egal. Das sind wir hier von Unregistrierten gewohnt. 😉



  • ok hab das nun einigiermaßen verstanden bin ich der richtigen meinung wenn ich denke das wenn ich das nu in eine dll einbringe und ein start knopf deklaiere das er das dann auf dem desktop macht???



  • mammamia;


Anmelden zum Antworten