0

如何从 Ruby 脚本运行 C++ 程序?

假设 Ruby 脚本生成了一个名为“hello.txt”的文件,我想运行一个 C++ 程序来获取 hello.txt 文件,使用它并编写另一个名为“result.txt”的文件,然后 Ruby 脚本继续读取 result.txt 文件。

例如,在我编写的 Linux shellg++ hello.c -c hello -o hello中接收“result.txt”文件。

有没有一种方法可以让我从 Ruby 程序运行 shell 代码?

4

3 回答 3

3

您可以system像其他人说的那样使用,但是您还应该检查退出值以验证成功或失败。

r = system("g++ hello.c -c hello -o hello") #=> r = true if success, nil if failed
于 2013-11-12T18:21:14.017 回答
1

我发现反引号system.

您可以通过以下方式触发 C++ 程序:

`./hello file.txt`

你能澄清一下你是否需要从当前目录中读取 results.txt 吗?

如果是这样,你可以使用类似的东西contents = IO::readlines './results.txt'

于 2013-11-12T18:40:14.690 回答
1

您可以使用系统

system("./hello file.txt")
于 2013-11-12T18:19:11.530 回答