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