!!!C 端末に対する読み取りと書き込み [Programming C] *Comand prompt から programを起動すると、shell が入力 stream と出力 streamをprogramに結びつける。 *ということは、getcharとprintfを使って、これらのdefault streamに対する読み取り、書き込みを行えば、userとの対話も可能となるはず。 !カノニカルモード(canonical mode)と非カノニカルモード(non-canonical mode) *canonical modeは標準modeともいわれ、userの入力を、1行単位で処理する。1行が確定するまでは、applicationから文字を読み取ることはできない。 *non-canonical modeでは、入力された文字の処理をapplicationから制御することができる。 #include int main() { char *menu[] = { "a - add something", "r - remove something", "q - quit", NULL, }; int chosen = 0; int selected; char **option; option = menu; printf("MENU\n"); while(*option) { printf("\t%s\n", *option); option++; } int i; do { selected = getchar(); for (i = 0; i<3; i++) { if (selected == menu[i][0]) { printf("Selected: %s\n", menu[i]); break; } } if (selected == 'q') { break; } }while(1); } ---- この本からの覚書。 {{amazon 4797327014}}