C++ 有没有办法从一个程序中打开一个新的控制台,然后进入它?

C++ 有没有办法从一个程序中打开一个新的控制台,然后进入它?,c++,linux,C++,Linux,我正在尝试为已经在控制台中的程序创建一个单独的控制台窗口。我怎样才能打开这个新的控制台窗口,然后输出到那个特定的控制台 我已经找到了在windows中使用“cconsolelogger”的方法,但不适用于Linux。我假设“新控制台”指的是终端仿真器窗口 终端是一个和其他程序一样的程序,所以你可以像其他程序一样启动它。C++打开另一个程序的唯一标准方法是:代码> STD::Stase< /Cord>,它执行shell命令。以下是打开终端仿真器的示例: std::system("xterm");

我正在尝试为已经在控制台中的程序创建一个单独的控制台窗口。我怎样才能打开这个新的控制台窗口,然后输出到那个特定的控制台

我已经找到了在windows中使用“cconsolelogger”的方法,但不适用于Linux。

我假设“新控制台”指的是终端仿真器窗口

终端是一个和其他程序一样的程序,所以你可以像其他程序一样启动它。C++打开另一个程序的唯一标准方法是:代码> STD::Stase< /Cord>,它执行shell命令。以下是打开终端仿真器的示例:

std::system("xterm");
请注意,将用户提供的任意输入传递到命令中是不安全的,因为它容易受到shell注入的攻击

POSIX标准(Linux操作系统通常遵循该标准)提供了其他较低级别的工具来运行另一个可执行文件。特别是
exec
函数系列允许在不启动子进程和不涉及shell的情况下执行另一个程序。

我假设“新控制台”指的是终端仿真器窗口

终端是一个和其他程序一样的程序,所以你可以像其他程序一样启动它。C++打开另一个程序的唯一标准方法是:代码> STD::Stase< /Cord>,它执行shell命令。以下是打开终端仿真器的示例:

std::system("xterm");
请注意,将用户提供的任意输入传递到命令中是不安全的,因为它容易受到shell注入的攻击


POSIX标准(Linux操作系统通常遵循该标准)提供了其他较低级别的工具来运行另一个可执行文件。特别是
exec
函数系列允许在不启动子进程和不涉及shell的情况下执行另一个程序。

也许您可以使用
popen

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

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

也许你可以使用
popen

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

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

你的程序已经是一个控制台了,还是一个窗口?它已经是一个控制台了。你的程序已经是一个控制台了,还是一个窗口?它已经是一个控制台了。是的,我应该更具体地说明我所说的控制台。但我怎么才能进入xterm或gnome终端窗口呢?是的,我应该更具体地说明我所说的控制台是什么意思。但是我怎么才能进入xterm或gnome终端窗口呢?