1. ホーム
  2. c

C言語から外部プログラムを実行し、その出力を解析するにはどうすればよいですか?

2023-08-12 20:37:43

質問

ゲームに必要なファイルのリストを出力するユーティリティを持っています。 C プログラム内でそのユーティリティを実行し、その出力を取得して、同じプログラム内でそれを処理するにはどうしたらよいでしょうか。

UPDATE: 情報不足についての良い判断です。 ユーティリティは一連の文字列を出力し、これは Mac/Windows/Linux 全体で移植可能であることになっています。 私は、ユーティリティを実行し、その出力 (標準出力) を保持するプログラム的な方法を探していることに注意してください。

どのように解決するのですか?

Unix 系の環境での簡単な問題であれば popen() .

manページより。

popen() 関数は、パイプを作成し、フォークし、シェルを起動することでプロセスをオープンします。

リードモードを使用する場合、これはまさにあなたが求めたものです。Windows で実装されているかどうかはわかりません。

より複雑な問題については、プロセス間通信を調べたいところです。