我只是玩弄ncurses,所以,我發現了一個非常奇怪的行爲。C:ncurses,initscr()更改getchar()的行爲?
當我使用initscr的()從ncurses的lib和事後我使用正常的getchar(),則程序按壓第一鍵之後終止。
正常的getchar()行爲我所期望的,是我可以輸入(或多或少),只要等我按回車鍵。
#include "curses.h"
int main()
{
initscr();
getchar();
//endwin();
return 0;
}
任何人都可以解釋爲什麼會發生這種情況嗎?
記錄和()'退出之前顯示從'的getchar的值。包括'endwin()',除非你喜歡重置你的終端特性(或者,我想,除非你使用的IDE在運行程序時創建一個新的終端窗口)。當你使用'initscr()'或類似的,你改變標準輸入的規則。不要指望正常的行爲;規則已經改變。 –
你可以在[https://stackoverflow.com/questions/10256477/getch-and-putchar-not-working-without-return](https://stackoverflow.com/questions)找到一個很好的例子,/10256477 /殘培和-的putchar - 不工作,不回)。 –