4

データをファイルに直接書き込む ansi C で記述された UNIX アプリケーションがあります。このファイルは、引数パラメーターの 1 つによって指定されます。

テスト目的で、ファイル名に /dev/null を使用できます。これにより、出力が事実上何もリダイレクトされません。

同様の方法で出力を stdout にリダイレクトできるようにしたいと考えています。これは可能ですか?もしそうなら、どのように?私は運がないので、次のことを試しました:

a.out -f /dev/ttys000

(/dev/ttys000 は、'w' リストで指定された tty です)

4

2 に答える 2

15

/dev/stdout

于 2009-05-25T21:48:33.453 に答える
2

文字列「stdout」引数を検出し、C (1) http://en.wikipedia.org/wiki/File_descriptorで stdout ファイルハンドルを使用できます。

または /dev/stdout または /dev/fd/1 を使用します

これがテスト用の一時的なものではなく「組み込み」機能である場合、C 標準は POSIX 標準 imho よりも少し頑丈であるため、デバイス ノードではなく stdout ファイル記述子で C 関数を使用することをお勧めします。 .

于 2009-05-25T21:50:23.450 に答える