問題タブ [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 投票する
2 に答える
11958 参照

c - getch(); C およびコードブロックのランタイム エラー

コードブロック IDE と gcc コンパイラを使用しています。簡単な課金システムのプログラムを書いてみました。文字入力の場合、プロジェクトのビルド中にエラーは発生しませんが、実行時にエラーが発生し、「現在のウィンドウがなかったときに描画操作が試行されました」のようなエラー メッセージが表示されます。実際の問題は何でしたか。

0 投票する
0 に答える
1798 参照

c - C - getKeyState() が getch() と競合しています。

私は C で小さなプログラムを書いています。いくつかの仮想キー (矢印キー、return、esc) と 'S' キーの状態を処理する必要があるため、GetKeyState を選択しました。問題は、GetKeyState/GetAsyncKeyState が標準入力に迷子の文字を入れるため、getch() を使用して「任意のキーを押してください」というメッセージを表示できないことです。コード例を次に示します。

プログラムがgetInput()KEY_RETURN または KEY_S を返す関数から終了すると、次の getch() はバイパスされ、プログラムはそのまま終了します。getInput()関数内または getch() の前にスリープ時間を長くしても、何も解決しません。文字列を入力する必要があり、プログラムが既に入力バッファーに「s」、「esc」、または「enter」を入れていると、面倒です。どうすればこれを解決できますか? 前もって感謝します。

編集:手動の stdin フラッシュ (を使用) を試しましたwhile(getch()!='\n');が、「enter」キーで動作します。「s」キーについてこれを解決する方法をまだ見つけようとしています。また、軽微な誤りを修正しました。

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

string - getch() にエンター ヒット (\n) を受け入れるようにするにはどうすればよいですか?

C++ でタッチ タイピング コンソール プログラムを作成しました。ファイルからテキストを読み取り、画面にロードします。ユーザーが次の文字に進むには、正しい文字を入力する必要があります。私の唯一の問題は「\ n」にあるため、テキストファイル(読み取り元のファイル)に次のようなものがあった場合:

ユーザーが「こんにちは」と入力した後、enter右を押す必要がありますか? しかし、彼が を押すたびにenter、getch() は彼を現在の行の先頭に戻します。

どうすればこれを修正できますか?

次のように、ファイル全体を読み取り、文字列に保存しています。

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

c++ - ノンブロッキング getch()

標準コンソールでテトリス ゲームを作成しようとしています。ノンブロッキング getch() が必要なので、キーを押さなくてもブロックを落とすことができます。キーが押されていない場合は -1 を返し、それ以外の場合はキー コードを返す関数があると便利です。

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

python - 自動化のためにWindowsインタラクティブコンソールプログラムをラップする方法

Windowsにインタラクティブなコンソールプログラムがあります。'e''c'のようなキーストロークを押してcmdウィンドウに移動する必要があります。人間の操作には便利ですが、プログラムの自動化には非常に困難です。

そして今、Pythonのような他のプログラムで操作しやすくするために、コンソールプログラムをラップしたいと思います。

ただし、コンソールプログラムは'getch()'を使用して、標準入力ではないキーボード入力を取得します。したがって、単純にキーをstdinに送信することはできません。

誰かがこの問題に遭遇したことがありますか?ありがとう。

編集:

最後に、win32SendMessage関数を使用して作業を行います。新しいサブプロセスをフォークしてから非表示にし、hWndとpidを取得します。

コードは次のとおりです。

0 投票する
7 に答える
155049 参照

python - キープレスを読み取るためのPythonメソッド?

私はPythonを初めて使用し、Pythonでゲームとメニューを作成しました。質問は、(raw_)input()を使用するには、キーを押すたびにEnterキーを押す必要があるということです。下矢印を押すと、すぐに次のメニュー項目が選択されるか、ゲーム内で下に移動するようにしたいと思います。現時点では、「down」と入力してEnterキーを押す必要があります。私もかなり多くの調査を行いましたが、単一のkeyDown()メソッドを実現するためだけに、巨大なモジュール(pygameなど)をダウンロードしたくありません。それで、私が見つけられなかったもっと簡単な方法はありますか?

編集:msvcrt.getch()それがトリックを行う ことがわかった。keyDown()ではありませんが、機能します。しかし、私もそれを使用する方法がわかりません、それはかなり奇妙に思えます、ここで何か助けはありますか?これは私が現時点で得たものです:

しかし、それは私にこれらすべてのナンセンスバイトを与え続けます、例えば、下矢印はこれです:

そして、それらの使い方がわかりません。chr()と比較したり、ord()を使用したりしましたが、実際には比較できません。私がやろうとしていることは基本的にこれです:

など...何か助けはありますか?

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

python - curses getch() は、Python のメイン ウィンドウとパッドに対して異なる値を返します。

getch()押されたキーが非 ASCII の場合、このメソッドはメイン ウィンドウとパッドに対して異なる値を返します。たとえば、矢印キーを押すと、メイン ウィンドウで予期されるKEY_UPなどが表示さKEY_DOWNれますが、パッド65では上矢印と66下矢印が表示されます。これはなぜですか? また、パッドの特殊キーの値を 255 より大きくする方法はありますか?

Python 2.6.5 を使用しています。

次のコードは、この問題を示しています。

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

c++ - _getch() が Windows サーバー 2012 で機能しない

ユーザーがパスワードを入力でき、画面にエコーしないようにするための DLL が必要です。だから私は_getch()このようなエコーなしで文字を取得するために使用します、

コードをコンパイルするには、Microsoft vs2005 を使用します。
Windows Server 2003/2008 では動作しますが、新しい Windows Server 2012 では文字が画面にエコーされます。
私の問題は、_getch()Windows Server 2012 でのみ文字をエコーするのはなぜですか? そしてそれを修正する方法は?

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

c - この 2 次元の char 配列に対する char 入力の何が問題になっていますか? K*K 入力の合計を取らないのはなぜですか?

ユーザーから 2 次元の char データを取得しようとしていますが、ユーザーからの入力を適切に取得していません。次のコードのバグを強調していただけますか?

で置き換えてみましcharint。整数に対してはうまく機能します。

charからの読み取りの何が問題になっていstdinますか?