- 追加された行はこのように表示されます。
- 削除された行は
このように表示されます。
!!!C 端末に対する読み取りと書き込み
[Programming C]
*Comand prompt から programを起動すると、shell が入力 stream と出力 streamをprogramに結びつける。
*ということは、getcharとprintfを使って、これらのdefault streamに対する読み取り、書き込みを行えば、userとの対話も可能となるはず。
::カノニカルモード(canonical mode)と非カノニカルモード(non-canonical mode)
!カノニカルモード(canonical mode)と非カノニカルモード(non-canonical mode)
*canonical modeは標準modeともいわれ、userの入力を、1行単位で処理する。1行が確定するまでは、applicationから文字を読み取ることはできない。
*non-canonical modeでは、入力された文字の処理をapplicationから制御することができる。
#include <stdio.h>
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}}