如何在 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]) 的第一个参数。

要将文件的内容用作 的第一个参数myprogramcat请改为使用文件:

myprogram "$(cat file)"

相关内容