我正在编写一个C++程序,我想在我正在编写的程序中执行一个算命程序。我的程序将运行算命程序并向用户返回一笔财富。我该如何在Ubuntu中做到这一点?
system
允许您用参数调用另一个程序。
system
在stdlib.h
中定义为:
int system(const char *command);
system
将带有参数的shell命令作为const char*
,并返回该命令返回的代码。
在使用C++时,应包含stdlib.h
、cstdlib
的C++标头,并使用std::system
而不是system
。
因此,使用system
:的一个最小示例
#include <cstdlib>
int main() {
return std::system("fortune");
}
注意,system
取const char*
,而不是std::string
。因此,要通过std::string
,请这样通过:
std::string command = "fortune";
std::system(command.c_str());
如果直接传递像"fortune"
这样的双引号字符串,则不需要这样做。
还要注意,调用shell命令执行任务是一种糟糕的做法,除非你有特定的原因