我最近开始使用 Sublime Text 3 进行编程(我使用 gnome-terminal),并试图编写一个脚本来编译我的 C++ 程序并在终端窗口中运行它们。我开始编写这个脚本:
"cmd":["g++ src/*.cpp -o bin/debug/main && gnome-terminal -- ./bin/debug/main"]
bin/debug/main 是main.o
保存我的文件的地方
当我实际运行程序时,Sublime Text 能够编译并运行该程序,但如果我创建 std::cin 函数,它就不会读取它!例如,我有以下代码:
#include <iostream>
int main(int argc, char* argv[])
{
int numb = 0;
std::cout << "Yay we made it" << std::endl;
std::cin >> numb;
std::cout << "O seu numero é: " << numb << std::endl;
return 0;
}
当我单击 F7 时,编译完美,然后显示终端,但没有“用户@用户_pc$“并且只显示我的第一个cout
,endl
它似乎正在等待用户numb
输入:
Yay we made it
但当我输入一个随机数(例如 10)并按下进入窗口关闭并且不显示最终结果。
所以我的问题是如何保持终端窗口打开以便我可以执行程序内的命令?
PS:我也尝试过使用 xterm,但得到了相同的结果。
答案1
您可以在 GNOME 终端中创建一个不关闭窗口的自定义配置文件,并使用该配置文件启动终端窗口。
在“首选项”中,定义一个新的配置文件(我们称之为noclose
),然后在“命令”选项卡中选择命令完成后保持窗口打开的选项。然后,--window-with-profile=noclose
在gnome-terminal
命令之前使用该选项--
。
std::cin
或者,只需在程序末尾再放置一个读取一些完全未使用的变量的变量即可。