簡體   English   中英

cin.ignore等價於`ncurses`

[英]cin.ignore equivalent in `ncurses`

我對system("Pause")有一個更加簡潔的變體,它等待用戶按Enter:

#include <iostream>
void pause()
{
    std::cin.get();
    std::cin.ignore();
}

但是,我找不到system("CLS") (或system("clear") )的干凈變體,因此我將整個應用程序切換為ncurses 經過一番閱讀后,我發現ncurses具有自己的I / O函數集,並且std::coutstd::cinecho()getch()取代。

該功能pause()也必須轉換為ncurses ,但是我的問題是我不知道與std::cin.ignore正確的等效std::cin.ignore

您可以使用以下功能(而不只是ncurses)丟棄curses中的輸入:

  • flushinp

    flushinp例程會丟棄用戶已鍵入但尚未被程序讀取的任何預輸入。

  • intrflush

    如果啟用了intrflush選項( bf為TRUE),並且在鍵盤上按下了中斷鍵(中斷,中斷,退出),則tty驅動程序隊列中的所有輸出都將被刷新,從而可以更快地響應中斷,但會導致詛咒對屏幕上的內容有錯誤的認識。 禁用該選項( bf為FALSE)可防止刷新。 該選項的默認值是從tty驅動程序設置繼承的。 window參數被忽略。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM