問題タブ [getch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
8 に答える
1551 参照

c++ - getch() が停止ループに応答しない

ncurses ヘッダーがあり、random_number_generator()メソッドが機能しているとします。「a」を押してループを終了しようとしています(最終的には、を押して終了しますCtrlE)。

私のコードは、意図したとおりに毎秒乱数を出力し続けます。いずれかの条件が満たされた場合に終了させたい:

  1. 乱数が除数の倍数である場合は終了します。

  2. を使えば終了しますgetch()。これでうまくいくと思いますが、 を押しても終了しませんa

    /li>

編集:

代わりに条件を && に変更しようとしましたが、getch ではまだ終了しません。

乱数出力の範囲は 1 ~ 10 です。

0 投票する
1 に答える
763 参照

c++ - PDCurses の getch が機能しない

私は CodeBlocks を使用しており、PDCurses を使い始めたばかりです。私はちょうどいくつかのものを試していましたが、この問題に遭遇しました。

getch() は機能しません。入力を待つことはなく、そのまま出力されます。「押されたキーは-1です」と出力するだけです。

0 投票する
4 に答える
103 参照

c - C プログラム、char を scanf してから再印刷しますか?

これを実行すると、次のようになります。

何を変更する必要がありますか? 私はすべてが体系的に正しいことを知っています。別のものを使用する必要があるだけで、問題を具体的に解決するものは何も見つかりません!

みんなありがとう。

0 投票する
1 に答える
137 参照

c - Enter Cを押さずにEOFキーストロークをキャッチする

私はメインメニューを持つプログラムを書いています.1つのメニュー選択の数字を入力することでユーザーがアクセスできるいくつかの機能があります. そのために、_getch() を使用しています。ユーザーが EOF キーを入力したときにプログラムを終了できるようにする必要がありますが、_getch() は実際には EOF キーストロークをキャッチしません。_getch() の代わりに getchar() を使用して動作させることができることはわかっていますが、関数を選択するたびにユーザーに強制的に Enter キーを押してもらいたくありません。

_getch() で EOF をキャッチする方法はありますか? これは Windows 用です。重要な場合は、何かを見つけることができなかったので、助けていただければ幸いです。

0 投票する
2 に答える
148 参照

c - C - 単純な 3 者間比較による Noob エラー

ばかげた質問で申し訳ありません。私は少し初心者であり、次のコードが正しく機能しない理由を理解するのに苦労しています。

この単純なプログラムで実行したいのは、getch()(Yes, I need to use getch()) を使用して A、B、または C のいずれかを取得し、whileループを使用してエントリが実際に A、B、または C のいずれかであることを確認することだけです。ただし、プログラムを実行すると、A、B、または C を入力しても、入力が無効であるとプログラムから通知されます。誰かがここで私を助けて、私が間違っていることを教えてもらえますか?

これは、文字をASCII整数として読み取るという事実と関係があると感じていますが、これを修正する方法が本当にわかりません。

0 投票する
3 に答える
7151 参照

c++ - curses ライブラリ: getch() で画面がクリアされるのはなぜですか?

C ++を使用して、cursesライブラリ(Windows OSの場合はpdcurses)を学習しようとしています。3 つのウィンドウを表示するプログラムがあり、その後、getch() によってキャプチャされたキーの押下に基づいて処理を行う while ループがあります。F1 キーを押すと、ループが終了します。

ただし、3 つのウィンドウすべてを wrefresh() で更新しても、最初にキーを押す前に何も表示されません。while ループがなければ、すべて正常に表示されます。私は多数のテストを行いましたが、 getch() への最初の呼び出しは画面を完全にクリアしますが、その後の呼び出しはそうではありません。

私の質問は次のとおりです。最初は、おそらく getch() が暗黙的な refresh() を呼び出しているのではないかと考えていましたが、それ以降の呼び出しが同じ動作をしないのはなぜですか?

よろしくお願いいたします。

これがコードです。

0 投票する
2 に答える
623 参照

c++ - Enterキーを押さずにLinuxのCで入力関数を使用する

getch()の関数を使用して、Windows でコードを作成しましたstdio。問題は、Enter キーを押す必要のない入力機能を使用する必要があることです。

私のコードはコンパイルされ、Windows 上で完全に動作します。ただし、この割り当ては Linux で実行する必要があり、実行しようとすると、認識されないgetch()(または_getch()) と表示されます。問題は、割り当てによると、他のインクルードを使用できないことですがstdio.h(フラグを追加する場合も同様です)、これcurses.hを解決するために使用することはできません。

私も使えないtermios.hなど、習っていません。どうすればこれを解決できますか? 他のオプションはありますか?

ありがとう

0 投票する
1 に答える
483 参照

c++ - c ++ tron Playerのライトサイクルは一方向に移動します

プレーヤーがボタンを押して別の方向に移動するまで、プレーヤーのライトサイクルを停止せずに一方向に移動させようとしています。kbhit でこれを行う方法がわからないので、アドバイスをお願いします。ありがとう。