3

readline("")標準入力から入力を読み取るために使用する小さな C プログラムを作成しました。ターミナルから操作するのではなく、C プログラムを実行して入力を与えるテスト ハーネスを作成しました。

test harness --stdout--> | --stdin--> C program
         ^------stdin--- | <--stdout-----/

このテスト ハーネスは、プログラム自体であっても、その出力のエコーを受信して​​います。readline() が入力をエコーするのはなぜですか? これを無効にできますか? または、非インタラクティブな環境で readline() を使用すべきではありませんか?

4

2 に答える 2

4

readlineライブラリは、インタラクティブな使用のみを目的としています。あなたのプログラムはおそらくfgets()if isatty(STDIN_FILENO)is false を使用するようにフォールバックするはずです。

于 2013-03-17T22:50:07.983 に答える