繁体   English   中英

有没有办法用 C++ 中的代码打开一个新的终端 window?

[英]Is there a way to open a new terminal window with code in C++?

我有一个应用程序,我希望它以某种方式打开一个新的命令行 window 进行输入。 有没有办法用 C++ 做到这一点?

要打开终端或任何其他进程,您需要调用它。

例如,我使用 ubuntu 操作系统和打开终端如果我说gnome-terminal ,它将在我运行我的程序时打开它。

这是那个代码:


#include <cstdlib>

int  main()
{
    std::system("gnome-terminal");

    return 0;
}

对于 windows,您应该调用您的 cmd 流程。 意味着您需要编写cmd或您的进程名称,而不是gnome-terminal

在这种情况下,我不确定您的“应用程序”是什么。 但是,为了使应用程序相互交互,通常我们需要某种 API(应用程序编程接口),以便您在另一个应用程序(如您所说的新终端)上拥有的东西可以在“主”应用程序中正确使用.

如果您想要的结果只是打开另一个终端,我们只需调用它。 但是请记住,每个操作系统都有自己的方式来打开终端,所以如果你想自动化一切,我们必须使用macros来检查用户的当前操作系统,这里有一个建议:

#include <cstdlib>

int main()
{
  #ifdef _WIN32
  std::system("start program.exe");
  // program.exe is app you have built to get input.
  #endif

  #ifdef _WIN64
  std::system("start program.exe");
  #endif

  #ifdef __APPLE__
  std::system("open program");
  #endif

  #ifdef __linux__
  std::system("open program");
  #endif


  // #ifdef and #endif are just like if - statement.
}

每个编译器都有macros ,例如_WIN32 - 代表 windows 32 位, _WIN64 -windows 64 位等等。 使用它们非常方便。

希望这可以帮助!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM