| ページ一覧 | ブログ | twitter |  書式 | 書式(表) |

MyMemoWiki

C 端末に対する読み取りと書き込み

提供: MyMemoWiki
ナビゲーションに移動 検索に移動

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 <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);
}

この本からの覚書。