ページフォルトの話に続くと誤解されそうだが、今回はmore、pg、lessなどファイルページャの方の話。近所の図書館でO'Reillyの「UNIX Cプログラミング(Using C on the UNIX System)」を見つけた*1。今日のネタはここから。 ファイルを特定の行数でぶった切るだけの、素のページャを書いてみる。教科書的には、ioctl経由でttyドライバを制御する例になっている。本書の発行は1991年なのだが(ターゲットは4.2BSD、4.3BSD、SVR2あたり)、ioctl直叩きはいまどきのUNIXじゃ動かないだろうから*2、termiosを使って書き直してみる。やっていることはファイルを22行表示して、端末をエコーオフ、非カノニカルモード化して入力を待つ、ということの繰り返し。main関数の先頭でモードを設定し、終了前に元の設定に戻している。 #include <st