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

c - ASCII 値のないキーはありますか

キーを押したときにプログラムが ASCII 値を返さないのはなぜですか " F1 - F12, Delete, Caps Lock, Num Lock"

値を返しました0。なぜそうなのですか?また、Num Lock と Caps Lock を押している間は、何のアクションも実行されません。(注: すべてのキーをテストしたわけではありません) 間違いがあればプログラムを修正してください。Turbo c++ を使用してプログラムを作成しました。

ありがとうございました

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

c - Windows と比較して Linux で画面が消えないのはなぜですか?

私はCプログラミングの初心者です。任意のコンパイラを使用して Windows でプログラミングしたとき、使用した画面を保持するためにgetch().

プログラムを実行すると、画面が突然消えます。しかし、Linuxで同じことをしたときは、必要ありませんgetch()。プログラムを実行すると実行され、画面が消えません。

Linux の画面 (ターミナル) が Windows のように閉じていないのはなぜですか?

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

c++ - gets() と getch() の違いは何ですか?

両方の機能について聞いたことがありますが、それらの違いを本当に理解したことがありません。gets() Enterキーを押さずに文字列を取得し、Enterキーを押さgetch()ずに1文字だけ取得するためのものですか?

ありがとう

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

c - 画面に表示せずに scanf()

Linux の C には、ユーザーが入力しているものを端末に表示せずにユーザー入力を待機できる機能はありますか? (Linux のターミナルでパスワードを入力するときのように)

getch() を見つけましたが、Linux では動作しません ... :(

これを見つけましたが、複雑すぎます... :

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

c# - 単一のキーボード文字 (getch など) を読み取る方法は?

C では、ユーザーが Enter キーを押さなくても getch() を使用して入力を取得できました。例えば

C# で同じことができる関数は? (エンターを押さずに)。

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

python - getch() が間違った文字を返す

ライブラリのgetch()機能に問題があります。curses次のプログラムがあるとします。

これを実行して、次の文字を入力しましょう: a, <backspace>,œ

出力は次のとおりです。

ご覧のとおり、aキャラクターは正しく撮影されています。ただし、他の人はそうではありません。'\b'バックスペースとユニコード文字を取得したいだけですが、œ何か他のものを取得します。

なぜgetch()このように動作し、どうすれば望ましい動作を得ることができますか?

編集:

文字を印刷することの問題ではなく、文字を読むことの問題であることを強調しておきます。つまり、実行中のstdscr.addstr('œ')Indeed は を出力しœます。

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

c - getch (ncurses) の戻り値がプログラム間で異なるのはなぜですか?

テスト プログラムを作成して ncurses を使い始めたので、関数から期待できる入力をマッピングし、関数ポインターを使用してコントロールを実装できました。しかし、必要なデータを取得した後、前述の制御構造を持つプログラムは期待どおりに応答しませんでした。私が最初に気付いた問題は、矢印キーを使用すると、押すたびにプログラムがテキストを表示することでした。私が気付いた 2 番目の問題は、自分のデバッグ出力に表示されている値が、2 番目のプログラムの getch の値が最初のプログラムとは異なることを示していることでした。

両方のプログラムには、同じ順序で同じ引数を持つ同じ init 関数があり、同じマシン上にあるため、出力と動作が異なる理由はありません。

なぜこれが起こっているのか誰にも分かりますか?

編集: このシステムは Linux Mint 16 x86_64 アーキテクチャで実行されています。Eclipseを使用してgccでコンパイルします。libncurses は、プロジェクトに含まれる唯一のライブラリです。

これはテストのコードです:

上キーを押したときの出力は「259」です。

異なるファイル間で分割された同じコードを持つ他のプログラムは、「got 27 OA」という出力を与え、up キーが再度押されるたびに「^[OA」を追加します。

別のテスト プログラムを作成しましたが、単純化しても動作は再現されていません。

Enterキーを押したときに呼び出される予定のこの関数を含めることで、変更が発生/明らかになったコードの一部を削除しました。現在、関数は入力に関連付けられていませんが、プログラムの入力の解釈に影響を与えているようです。

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

c++ - C++ ゲーム - ループと KeyPress を同時に

私はゲームのようなものを作りました.あなたはあなたのキャラクター(ブラックボックス)を上下に動かし、その真ん中に空白のある壁があります.その壁は右側にあり、右から左に来ます.ウォールゲーム終了。

while ループでキーを押すと、次のようになります。

そして、wall() 関数を作成しました。ブロックを出力して壁を作成します。

問題は、キープレスを取得した後にのみ壁が移動することです。私のキープレス関数は_getch()で動作します

私が見たいのは、ユーザーがキーを押さなくても、その壁は常に1秒ごとに左側に移動し、キーの押下/移動は同じように機能することです。

wall() 関数に wall() 関数を入れました。それは私が望むようにそれを印刷しますが、その wall()が永久にループするため、キーを押すことができません。

ゲームは次のようになります。

私はあなたの答えを待っています、ありがとう!