コンソールからノンブロッキング読み取り機能が必要です。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. Cでの標準出力からの読み込みは可能ですか?
- 3. 外部IOプログラムの標準出力と標準エラーを読み込み中にJava IO入力ストリームブロックが発生する
- 4. C - 文字としての標準入力からの読み込み
- 5. レガシーC++ IOライブラリと標準化IOライブラリの違い
- 6. inkscapeのエクスポートファイルを標準出力に出力する方法と標準入力から読み取る方法
- 7. C言語のncursesアプリ - 標準入力の読み込み
- 8. slurm sbatch標準IOリダイレクト
- 9. Pythonのサブプロセス読み取り標準出力/標準エラー出力<10秒でプログラムがクラッシュし
- 10. Agda標準ライブラリの読み込み
- 11. C#でコマンドラインコールから標準出力を取得しますか?
- 12. C#標準出力をリダイレクトしてPythonで読む
- 13. NodeJSとノンブロッキングIOの理解
- 14. Javaの標準入力から標準出力へのGZIP
- 15. 標準入力から大量のデータを読み取る
- 16. C++でのcout(標準出力)
- 17. ファイルを読み取り、標準出力にコピーします。
- 18. C#アプリケーションから作成された別のプロセスの標準出力を部分的に読み取る
- 19. C++のbash標準エラーを読み取るには?
- 20. 標準出力の問題を読む
- 21. ファイルから標準出力(コンソール)を読み込んで出力を他のファイルに出力する
- 22. ノンブロッキングcの書き込み
- 23. subprocess.check_outputから標準出力のみを取得する
- 24. ノンブロッキングio webserver/java for framework
- 25. Pythonノンブロッキングpn532タグの読み込み
- 26. はCARRIAGECONTROL = 'NONE'オプションの標準f90 IOですか?
- 27. 擬似端末 - 標準入力から読み込まない
- 28. CodeChef IDEを標準入力から読み込む方法
- 29. sdcardからファイルを読み取る標準的な方法
- 30. 標準入力ストリームからHadoopを読み取る
なぜこれが本当の問題ではないのですか?私は重複としてそれを閉じることを理解するだろうが、 "本当の質問ではない"として私に奇妙に見えます。 – CodesInChaos
@Mitch Wheat:ReadKeyがブロックされていませんか? – jgauffin
@Mitchあなたは少なくとも 'KeyAvailable'と' ReadKey'を組み合わせる必要があります。そして、それが正しいことなのか、リダイレクトされた入力キーやデッドキーとのやりとりの仕方がまだ分かりません。それは確かに些細な質問ではありません。 – CodesInChaos