27

stdinとstdoutの両方のファイル記述子がそれを指しています。それはどのように機能しますか?UNIX端末とそれと相互作用するシステムコールを理解するための優れたリソースを示すことができますか。

4

1 に答える 1

46

dev/tty現在のコンソールを表すファイル システム オブジェクトです。コマンドラインからこの「ディレクトリ」にファイルをコピーすると、これらのファイルの内容がコンソールに出力されます。

cp myfile.txt /dev/tty

と同等です

cat myfile.txt

これらのオブジェクトは、使い慣れたファイル API を使用してコンソールと対話できるようにするために存在します。これは、コンソール API をファイル API と統合する賢い方法です。fopen、などを使用fprintfして、通常のファイルを操作するのと同じ方法でコンソールを操作できます。

"Hello, world\n"この例では、ターミナルに次のように書き込みます。

#include <stdio.h>

int main (int argc, const char * argv[]) {
    FILE *f = fopen("/dev/tty", "w");
    fprintf(f, "Hello, world!\n");
    return 0;
}
于 2012-05-03T16:23:38.170 に答える