通过 matlab 将参数传递给 exe

Passing an argument to an exe through matlab

提问人:User 提问时间:9/30/2023 更新时间:10/2/2023 访问量:32

问:

我有一个 c 程序 exe,我正在使用 system 命令通过 matlab 运行它。 c 程序中有一个get_char,我正在尝试通过 matlab 自动将参数传递到 exe 的控制台(通过 matlab 代码,而不是通过在控制台中键入 char)。 我找到的所有解决方案似乎都将参数传递给 main 函数,但我的代码不允许它,因为 main 函数收到 void。 我知道这种方法可以通过 python 实现,但我还没有找到 matlab 解决方案。

非常感谢一些帮助,谢谢!

我尝试将参数放在系统命令中,这似乎导致将参数传递给函数(在我的 c 程序中不需要输入)

C matlab 参数传递 exe 命令行参数

评论

1赞 Community 9/30/2023
请提供足够的代码,以便其他人可以更好地理解或重现问题。

答:

0赞 Edric 10/2/2023 #1

您可以在命令中通过管道将输入传递给程序。如果您只有一行输入要发送到您的程序,则此操作正常。如果有多行,则可能需要将它们放入文件中,然后改用重定向。像这样的东西:system<

[s,w] = system(sprintf('echo "input goes here" | program_goes_here'));