popen がファイルのようにパイプを開いて読み取り/書き込みを許可することは理解していますが、fdopen と fputs/fgets の方が効率的ではないでしょうか?
4405 次
2 に答える
2
popenのman ページ:パイプを作成し、フォークし、シェルを呼び出してプロセスを開きます。
fopenのman ページ: path が指す文字列と同じ名前のファイルを開き、それにストリームを関連付けます。
fgetsのman ページ: stream から最大で size 未満の 1 文字を読み取り、s が指すバッファーに格納します。
popen
パイプを開くために使用され(通常、シェルコマンドのようなものを実行するために)、読み取りfopen
に使用できるファイルを開くために使用されますfgets
。
したがってpopen
、 とfgets
は、さまざまな目的に役立つさまざまな機能です。
于 2012-11-16T05:22:55.013 に答える