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

C 端末とのやりとりの変更点

  • 追加された行はこのように表示されます。
  • 削除された行はこのように表示されます。
!!!C 端末とのやりとり
[Programming C]
*programの中で、userと対話する部分をredirectされないようにし、その他の入出力をredirectするには、userと対話する部分を stdout や stderr から切り離す必要がある。
*具体的には、端末に対して直接読み取りや書き込みを行う。
*Linux は multi user systemなので、通常は複数の端末が接続されている。
*Linux と UNIX では、つねに現在の端末を意味する /dev/tty deviceが用意されている。

 #include <stdio.h>
 #include <stdlib.h>
 
 int main()
 {
   FILE *input;
   FILE *output;    
   
   input = fopen("/dev/tty", "r");  
   output = fopen("/dev/tty", "w");  
   fprintf(output, "Please input some charactor. 'q':end.\n");
   char c;
   while((c = fgetc(input)) != 'q') {
     printf("%c", c);
   }
   fprintf(output, "end.\n");
   exit(0);
 }

----
この本からの覚書。
{{amazon 4797327014}}