Comment puis-je sortir de cette boucle en contrôlant l'appuis sur une touche particulière telle que Escape?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
while (val!='1B')    <--- 1B = hex pour escape mais marche pas
{
cout << "Entrez la valeur n°" << i <<": ";
cin >> val;
 
      while (!cin)
      //if (!cin)
          {
          if (cin.eof())
              {
              cout << endl << "---  erreur de tampon de clavier  ---" << endl;
              }
          else
              {
              cout << endl << "--- valeur rentrée invalide ---" << endl;
              }
          cin.clear();
          cin.ignore( numeric_limits<streamsize>::max(), '\n' );
          cout << "Entrez la valeur n°" << i <<": ";
          cin >> val;
          }
i++;
}