getwchar()在退出while循环之前需要一个按键

时间:2014-07-31 05:57:37

标签: c windows getchar

我正在编写一个解析器,需要在输入时读取用户输入。我在Windows中,所以我使用putwchar和getwchar。我已经使用SetConsoleMode来禁用" ENABLE_LINE_INPUT"和" ENABLE_ECHO_INPUT"所以我可以抓住每个角色。

这是相关代码:

do {
    FlushConsoleInputBuffer(CONSOLE_INPUT);
    wcs_buffer = getwchar();
    switch (wcs_buffer){

    case L'\r':
        listening = 0;
        break;

    default:
        putwchar(wcs_buffer);
        break;
    }
} while (listening);

我希望返回键(我相信它是\ r?)立即退出while循环,但它不会,在返回任何事件之前需要输入一个键。

造成这种行为的原因是什么,我能做些什么来阻止它?

0 个答案:

没有答案