トップ 一覧 ping 検索 ヘルプ RSS ログイン

C 端末に対する読み取りと書き込みの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!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}}