![](/img/trans.png)
[英]Is there a preferred canonical way to distribute C/C++ development packages (without source) on windows?
[英]C++ change canonical mode in windows
在找到一堆線程之后,我在Windows上找不到任何線程,只有Linux,Ubuntu等。
簡而言之,我試圖找出的是如何關閉規范模式,以便控制台中的輸入可以立即輸入而無需按Enter。
較長的版本。 這就是我現在要做的事情:當PGM暫停(基於文本的游戲)時,要求用戶輸入箭頭鍵以在2D陣列上移動玩家。 但是cin.get()
, cin.ignore()
和我嘗試過的其他一些操作都需要按Enter才能繼續。
臭名昭著的system("pause>nul");
確實有效,但是正如我在其他地方所讀到的那樣,這是非常糟糕的做法。
這是代碼的一部分。 cout
語句僅用於測試目的:
//While loop
if(GetAsyncKeyState(VK_UP)){
cout << "up" << endl;
}
else if(GetAsyncKeyState(VK_DOWN)){
cout << "down" << endl;
}
else if(GetAsyncKeyState(VK_LEFT)){
cout << "left" << endl;
}
else if(GetAsyncKeyState(VK_RIGHT)){
cout << "right" << endl;
}
else{
break;}
//pauze and check for arrow key input here
您也可以在Windows上使用getch
:
我知道它是C,並且您收到了已棄用的警告,但是它起作用了...
該代碼循環運行,直到您按Enter:
檢查按箭頭鍵時會發生什么...
#include <stdio.h>
#include<conio.h>
int main ()
{
int c;
do {
c=getch();
printf("%d\n",c);
} while (c != 13);
return 0;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.