我最近开始使用 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完全编译,然后显示终端,但没有“用户@ user_pc $ ”,只显示我第一次cout
用endl
,它似乎在等待用户numb
输入:
Yay we made it
但是当我输入一个随机数(例如 10)并按ENTER 时,窗口会关闭并且不显示最终结果。
所以我的问题是如何保持终端窗口打开以便我可以执行程序内命令?
PS:我也试过 xterm 但我得到了相同的结果。
您可以在 GNOME 终端中创建一个不关闭窗口的自定义配置文件,并使用该配置文件启动终端窗口。
在首选项中,定义一个新的配置文件(我们称之为noclose
),然后在“命令”选项卡中,选择在命令完成后保持窗口打开的选项。然后,使用该选项--window-with-profile=noclose
在gnome-terminal
之前的命令--
。
或者,只需std::cin
在程序末尾再放一个,读取一些完全未使用的变量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句