トップ 差分 一覧 ping ソース 検索 ヘルプ PDF RSS ログイン

C 端末とのやりとり



目次



記事一覧

キーワード

C 端末とのやりとり

[Programming C]

  • programの中で、userと対話する部分をredirectされないようにし、その他の入出力をredirectするには、userと対話する部分を stdout や stderr から切り離す必要がある。
  • 具体的には、端末に対して直接読み取りや書き込みを行う。
  • Linux は multi user systemなので、通常は複数の端末が接続されている。
  • LinuxUNIX では、つねに現在の端末を意味する /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);
}


この本からの覚書。



YAGI Hiroto (piroto@a-net.email.ne.jp)
twitter http://twitter.com/pppiroto

Copyright© 矢木 浩人 All Rights Reserved.