C 端末に対する読み取りと書き込み
ナビゲーションに移動
検索に移動
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);
- }
この本からの覚書。
© 2006 矢木浩人