在使用while循環時,常需要設置退出條件,常用的有按‘Q’、‘ESC’等鍵退出,這里列出幾種退出while循環的方式:
Method1
該種方法,_getch()會一直等待鍵盤輸入,才會執行while循環,即按一下鍵(ESC以外的鍵),執行一次。
#include <iostream> #include <conio.h> using namespace std; int main(int argc, char* argv[]) { while (_getch()!= 27) // 按ESC退出 { cout << "1" << endl; } return 0; }
Method2
該方法可設置while循環條件未true,GetKeyState直接檢測按鍵值,參數為預定義的ASCII碼。
#include <iostream> #include <conio.h> #include <winsock.h> #include <WinUser.h>
#define KEYDOWN( vk ) ( 0x8000 & ::GetAsyncKeyState( vk ) ) // 或GetKeyState(vk) using namespace std; int main(int argc, char* argv[]) { while (true) { if (KEYDOWN(VK_ESCAPE)) // 按ESC退出 break; cout << "1" << endl; } return 0; }
