958 バイト追加
、 2020年2月15日 (土) 07:30
==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}}