好吧,我的问题是这样的。 说我有一个简单的C ++代码:
#include <iostream> using namespace std; int main(){ cout << "Hello World" << endl; return 0; }
现在说我有这个程序,我想运行在我的程序,称之为编。 在terminal上运行可以通过以下方式来完成:
./prog
有没有办法从我简单的C ++程序做到这一点? 例如
#include <iostream> using namespace std; int main(){ ./prog ?? cout << "Hello World" << endl; return 0; }
任何反馈意见都非常有限。
你想要system()
库调用; 参见系统(3) 。 例如:
#include <cstdlib> int main() { std::system("./prog"); return 0; }
当然,确切的命令字符串将依赖于系统。
你也可以使用popen
#include <stdio.h> int main(void) { FILE *handle = popen("./prog", "r"); if (handle == NULL) { return 1; } char buf[64]; size_t readn; while ((readn = fread(buf, 1, sizeof(buf), handle)) > 0) { fwrite(buf, 1, readn, stdout); } pclose(handle); return 0; }
尝试系统(3) :
system("./prog");
你可以像这样使用系统调用: http : //www.cplusplus.com/reference/clibrary/cstdlib/system/
小心如果你使用用户输入作为参数,这是一个很好的方法,有一些意想不到的后果。 磨砂一切!
一般来说,系统调用可以被认为是不好的形式。
你可以使用系统命令:
system("./prog");