コンソールからノンブロッキング読み取り機能が必要です。Cでの標準I/Oからのノンブロッキング読み出し
答えて
var buf=new byte[2048];
var inputStream=Console.OpenStandardInput(); //dispose me when you're done
inputStream.BeginRead(buf,0,buf.Length,ar=>{
int amtRead=inputStream.EndRead(ar);
//buf has what you need. You'll need to decode it though
},null);
countパラメータを忘れていませんか? – CodesInChaos
...はい。ありがとう! – spender
あなたの 'EndRead'はいつ呼び出されますか?私はあなたがストリームの終わりに到着した場合、またはバッファがいっぱいになった場合にのみ、入力のわずかな文字しか利用できない場合ではないと思います。 – CodesInChaos
Richard Duttonはhis blog上の解決策を持っています
while (true)
{
if (Console.KeyAvailable)
{
ConsoleKeyInfo key = Console.ReadKey(true);
switch (key.Key)
{
case ConsoleKey.F1:
Console.WriteLine("You pressed F1!");
break;
default:
break;
}
}
// Do something more useful
}
'ConsoleKeyInfo'は' char'表現を表す 'KeyChar'フィールドを含んでいます。これはOPが望むものかもしれません。 – CodesInChaos
本当に?キーが利用可能になるまで、できるだけ早くループを回すだけですか?それは愚かです。 – spender
@spenderだからこそ、そこには '何かもっと役に立つもの'というコメントがあります。 – CodesInChaos
- 1. ノンブロッキング標準入力から読み込む方法は?
- 2. 外部IOプログラムの標準出力と標準エラーを読み込み中にJava IO入力ストリームブロックが発生する
- 3. C - 文字としての標準入力からの読み込み
- 4. レガシーC++ IOライブラリと標準化IOライブラリの違い
- 5. C言語のncursesアプリ - 標準入力の読み込み
- 6. Pythonのサブプロセス読み取り標準出力/標準エラー出力<10秒でプログラムがクラッシュし
- 7. Agda標準ライブラリの読み込み
- 8. NodeJSとノンブロッキングIOの理解
- 9. Javaの標準入力から標準出力へのGZIP
- 10. ファイルを読み取り、標準出力にコピーします。
- 11. C++でのcout(標準出力)
- 12. 標準出力の問題を読む
- 13. C#アプリケーションから作成された別のプロセスの標準出力を部分的に読み取る
- 14. C++のbash標準エラーを読み取るには?
- 15. ノンブロッキングio webserver/java for framework
- 16. 標準入力ストリームからHadoopを読み取る
- 17. はCARRIAGECONTROL = 'NONE'オプションの標準f90 IOですか?
- 18. C標準はstdoutからの入力を読み込むための動作を指定しますか?
- 19. 読書標準出力は、常に空
- 20. 単純な言葉で、IOとノンブロッキングIOをブロックするのは何ですか?
- 21. Cで読み書きシステムコール用の標準入力/出力マクロはありますか?
- 22. C++アプリケーションでのCライブラリの標準出力の使用
- 23. 標準のC++で直接キーボードから入力を読み込む方法はありますか?
- 24. glmから標準エラーを抽出
- 25. R:標準エラー出力LMオブジェクトから
- 26. パイプ上のノンブロッキング読み取り
- 27. Windowsのコマンドプロンプトからレジストリ値を直接読み込み、標準のWindowsコマンドで使用できますか?
- 28. C++の標準出力ストリームはスレッドセーフ(cout、cerr、clog)ですか?
- 29. C++ 11標準状態のC++ 11標準
- 30. ブロックスコープリンケージC標準
なぜこれが本当の問題ではないのですか?私は重複としてそれを閉じることを理解するだろうが、 "本当の質問ではない"として私に奇妙に見えます。 – CodesInChaos
@Mitch Wheat:ReadKeyがブロックされていませんか? – jgauffin
@Mitchあなたは少なくとも 'KeyAvailable'と' ReadKey'を組み合わせる必要があります。そして、それが正しいことなのか、リダイレクトされた入力キーやデッドキーとのやりとりの仕方がまだ分かりません。それは確かに些細な質問ではありません。 – CodesInChaos