有没有一种方法可以从程序中打开新控制台,然后进入该控制台?

时间:2019-06-13 01:02:17

标签: c++ linux

我试图为已经在控制台中的程序创建一个单独的控制台窗口。我将如何打开这个新的控制台窗口,然后输出到该特定控制台?

我找到了使用“ cconsolelogger”在Windows中工作的方法,但不适用于Linux。

2 个答案:

答案 0 :(得分:2)

我认为“新控制台”是指终端仿真器窗口。

终端是一个与任何其他程序一样的程序,因此您可以像其他任何程序一样启动它。在C ++中打开另一个程序的唯一标准方法是std::system,它执行shell命令。这是打开终端仿真器的示例:

std::system("xterm");

请注意,将任意用户提供的输入传递给命令是不安全的,因为它容易受到shell注入的攻击。<​​/ p>

POSIX标准(通常为Linux操作系统所遵循)提供了其他较低级别的工具来运行另一个可执行文件。特别是exec系列函数允许执行另一个程序而无需启动子进程,也不需要使用Shell。

答案 1 :(得分:0)

也许您可以使用popen

您可以选择要向其中写入命令的程序,例如:

gp = _popen("C:\Program Files (x86)\gnuplot\bin\pgnuplot.exe", "w");
fprintf(gp, "set term png\n");
相关问题