| ページ一覧 | ブログ | 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から制御することができる。
  1. #include <stdio.h>
  2. int main()
  3. {
  4. char *menu[] = {
  5. "a - add something",
  6. "r - remove something",
  7. "q - quit",
  8. NULL,
  9. };
  10. int chosen = 0;
  11. int selected;
  12. char **option;
  13. option = menu;
  14. printf("MENU\n");
  15. while(*option) {
  16. printf("\t%s\n", *option);
  17. option++;
  18. }
  19. int i;
  20. do {
  21. selected = getchar();
  22. for (i = 0; i<3; i++) {
  23. if (selected == menu[i][0]) {
  24. printf("Selected: %s\n", menu[i]);
  25. break;
  26. }
  27. }
  28. if (selected == 'q') {
  29. break;
  30. }
  31. }while(1);
  32. }

この本からの覚書。