私が構築しているプログラムは、無限ループ中にスイッチケースを入れて実行されます。それぞれのケースの下にwhileループを挿入して、ループ内でいくつかの操作を実行したいが、キーボード入力が行われるとすぐにループが終了するはずである。キーボードからの入力を受けた後、別のケースがネストされたwhileループで実行され、プロセスは続行されます。キーボードから任意の値を取ってlinuxのCでwhileループを壊す方法は?
構造は次のとおりです。
while()//infinite loop
{
............... //operations
............... //operations
switch()
{
case 1:
............... //operations
............... //operations
while()//infinite loop
{
..............
..............
exit if there is any input from keyboard
}
break;
case 2:
............... //operations
............... //operations
while()//infinite loop
{
..............
..............
exit if there is any input from keyboard
}
break;
case n:
............... //operations
............... //operations
while()//infinite loop
{
..............
..............
exit if there is any input from keyboard
}
break;
}
}
はそれを行う方法はあります?
キーボード入力を取得する方法、またはネストされたループを破る方法を尋ねていますか? – ugoren
生入力を行う方法を尋ねていますので、(任意選択でテキストを入力した後に)Enterキーを押すよう強制されるのではなく、charまたは制御コードを生成する_any_キーが押されるとすぐに待機が終了するようにしますか? – blubberdiblub
キーボードの問題の解決法に関係なく、この関数をリファクタリングする必要があります。 – unwind