1

ブロックしない方法で std::cin を呼び出すクロスプラットフォームの方法が必要です。スレッドで可能であることは知っていますが、より良いオプションがあるのでしょうか? スレッドはこれにはやり過ぎのようです。

4

1 に答える 1

2

標準 C および C++ は、ノンブロッキング I/O を行う手段を提供していません。通常、C および C++ ランタイム環境では、ユーザーがキーを押すまで入力がまったく表示されません<ENTER>

したがって、唯一のオプションは、実際には別のスレッドを使用して入力を読み取るか、プラットフォーム固有のメソッドを使用してノンブロッキング入力を行うことです (ラップされている可能性があるため、別のプラットフォームに移植するときにその部分を簡単に置き換えることができます。ncurses多くのプラットフォーム用に事前にラップされたこれらの入力メソッドを提供します)。

于 2013-01-14T19:04:37.190 に答える