1

システム(); PATH でプログラムを呼び出すことができます。GUI のテキスト フィールドなどから読み取った stdin を、独自のプロンプトを使用して ftp、sftp などのコマンド ライン プログラムに送信するにはどうすればよいですか?
System() はプログラムが終了するのを待ちますが、ftp はユーザーの操作なしでは終了しません。また、実行時に開始時に 1 回だけ読み取られるため、バッチ ファイルを作成することもできません。

可能であれば、UNIX 用のCでソリューションを作成してください。

4

2 に答える 2

2

可能ですが、それほど簡単ではありません。Expectをご覧ください。非 GUI ツールとの対話を自動化するプログラミング言語です。Expect ライブラリは Python などの他のものに組み込まれているので、C のコードに組み込むことができると思います。

于 2009-12-06T13:43:10.047 に答える
1

私が知っている最も簡単な方法は、で使用forkpty()することexec()です。forkpty()プログラム stdin および stdout にリダイレクトされるファイル記述子を返します。ファイル記述子に書き込まれるものはすべて、プログラムの入力です。プログラムによって書き込まれたものはすべて、ファイル記述子から読み取ることができます。

于 2009-12-06T14:57:01.237 に答える