すぐendwinを呼んでしまうと、何も起こらないように見える。
getchは、本来、入力された文字を取得する関数だが、これを呼んでキーボード入力がされるまでは入力待ち状態になるので、その間どうなっているかを確認する。
getch(3): char from curses terminal keyboard - Linux man page
initsrcとendwinの間にgetchで待ち状態を作る。
実行すると、
画面クリアされ、カーソルが左上にある状態で、待ち状態となる。
vimを始めとするスクリーンエディタっぽくなった。
なんらかのキーを入力されると、
endwinが呼ばれて、プログラムが終了する。
ウィンドウアプリのメッセージループのようなイメージで、ある一定条件でループというか待ち状態を抜けるようにし、それまでは画面制御をしていくという形になる。
Sample/ncurses/getch/getch/src/getch at master · bg1bgst333/Sample · GitHub