LinuxでファイルまたはPythonスクリプトを使用してargvパラメータをCプログラムに渡すにはどうすればよいですか?

LinuxでファイルまたはPythonスクリプトを使用してargvパラメータをCプログラムに渡すにはどうすればよいですか?

かつてPythonスクリプトを作成し、パイプを使用してCプログラムに入力として送信して、Cプログラムに入力を渡すことができました。

あるいは、Pythonスクリプトの出力をファイルに書き込み、gdbでr <myfileを実行します。

しかし、argvパラメータをC関数にどのように渡しますか?

長いパラメータを渡す必要があり、Pythonの印刷機能を使用して値を生成する必要がありますが、これをCプログラムに渡す方法がわかりませんか?パイプまたは<使用は機能しません。

たとえば、python x.py | myprogramを実行すると機能せず、後でmyprogram python x.pyなどのmyprogramを使用すると機能しません。出力をそのプログラムにargv引数として渡すにはどうすればよいですか?

答え1

あなたが探していると思います。

myprogram "$(python x.py)"

これはスクリプトの出力を取得し、myprogram()argv[1]の最初の引数として使用します。

ファイルの内容を最初の引数として使用するには、代わりにmyprogramファイルcatを使用してください。

myprogram "$(cat file)"

関連情報