1

これが私の問題です。コンソールに直接出力し、ターミナル経由でユーザー入力も取得しています。ユーザーが何かを入力しているときに、コンソールが何かを出力すると、入力していたテキストが台無しになることがあります。プログラムが壊れるわけではありません。ただ面倒です。

npm カタログで ncurses を見ましたが、かなり複雑なようです。私が望むのは、ユーザー入力を中断することなく画面に出力することだけです。

どんな助けも、そして私はどんな助けも意味しますが、非常に感謝しています。

4

1 に答える 1

0

ターミナルからどのように読んでいますか?各文字(または数文字)の入力を取得する「raw」モードで実行している場合は、文字を取得するときに「出力禁止」フラグを設定し、タイムアウトを設定して、次の場合にフラグをクリアします。ユーザーが少しの間入力を停止しました。出力が何であれ、フラグをチェックし、設定されている場合は保留する必要があります。

または、ユーザーが行ごとに入力している場合は、各文字にフラグを設定し、改行を入力するときにフラグをクリアします(そして単に出力をフラッシュします)。

端末が「調理済み」モードの場合(ユーザーが改行を入力するまでコードには何も表示されません)、ncursesの弾丸を噛まない限り、できることはほとんどありません。

于 2012-09-15T05:23:03.263 に答える