- UNIXプログラミング質問すれ Part10
796 :デフォルトの名無しさん[sage]:2015/10/14(水) 07:56:05.77 ID:AV8Y6RLf - UNIXのコマンドラインプログラムはデフォルトではキーボードの押下をユーザープログラムが直接受け取ることが出来ない
キーボードの押下はカーネル側でキャッチされ、カーネルにより画面にエコーバックされ、カーネル側の入力のバッファに溜まる 改行に相当するキーが押されてはじめてバッファに溜まっていた入力がまとめてユーザプログラムに渡される タブキーを押して候補を表示するようなプログラムは、上記デフォルトモードを別のモードへ変更する必要がある これにはたぶんtermios(3)とかで参照できるカーネルAPIを使う必要がある 古いUNIXでは入力に対するioctl(2)を直接使うことが多かった でもreadlineみたいなライブラリを使うほうが簡単だろうな
|
|