C++: exécuter une boucle while jusqu'à ce qu'une touche est pressée par exemple, de l'Esc?

Quelqu'un aurait-il un bout de code qui n'utilise pas windows.h pour vérifier qu'une touche à l'intérieur d'une boucle while. Fondamentalement, ce code mais sans avoir à utiliser windows.h de le faire. Je veux l'utiliser sur Linux et Windows.

#include <windows.h>
#include <iostream>

int main()
{
    bool exit = false;

    while(exit == false)
    {
        if (GetAsyncKeyState(VK_ESCAPE))
        {
            exit = true;
        }
        std::cout<<"press esc to exit! "<<std::endl;
    }

    std::cout<<"exited: "<<std::endl;

    return 0;
}
s/GetAsyncKeyState(VK_ESCAPE)/GetAsyncKeyState(VK_ESCAPE) & 0x8000.
Je suis désolé, je ne comprends pas ce que tu veux dire.
Voulez-vous d'une clé spécifique à être pressé, ou n'importe quelle touche?
Toute touche est très bien.
Cela signifie que vous devriez remplacer la première à la seconde. Il est précisé que si la touche est enfoncée, le MSB est sur. Standard C++ n'est pas une solution portable pour ce que je connais. Je suppose que multithread cin.get() type de travaux, mais je suis très douteux avec le faire.

OriginalL'auteur pandoragami | 2013-04-01