入力時にユーザー入力を受け入れるプログラムを作成しようとしています。単語がスペースで区切られるとすぐに外部実行可能ファイルを呼び出して特定のタスクを実行するには、これらの入力文字列が必要です。使ってみましたscanf()
。単語は読み取ることができますが、実行可能ファイルはENTERを押した後にのみ実行されます。つまり、単語ごとではなく、プログラムは目的の呼び出しを行ごとにのみ実行しています。とにかく、呼び出しを単語ごとに実行するプログラムを作成する方法はありますか?つまり、SPACEが押されたときに、呼び出しを行うことができますか?
Cで不可能な場合、Python、C ++などの他のプログラミング言語でも可能ですか?
問題は、Enterキーを押すまで端末が回線をバッファリングしていることです。入力はEnterキーを押すまでプログラムに送られません。そのため、ターミナルをrawモードにして動作方法を調整しない限り、これを回避する方法はありません。次の質問への回答は、端末で行バッファリングを行わないようにする方法について詳しく説明しています。getchar()でEnterキーを押さないようにする方法。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加