Answers:
如果运行时没有调试(Ctrl + F5),则默认情况下会提示您按回车键以关闭窗口。如果要使用调试器,则应在最后一行放置一个断点。
ctrl+f5
工作。不起作用,Properties
当我右键单击项目时没有,这wrench icon
也是灰色的。
右键点击您的项目
属性>配置属性>链接器>系统
在选项中选择控制台(/ SUBSYSTEM:CONSOLE),SubSystem
或者您只需在文本字段中输入控制台即可!
现在尝试...它应该可以工作
CTRL+F5
例如,如果您将一个新的C ++文件添加到一个空项目中,熟悉的人将失败。
这是C / C ++的一种方法:
#include <stdlib.h>
#ifdef _WIN32
#define WINPAUSE system("pause")
#endif
将其放在程序的顶部,如果它在Windows系统(#ifdef _WIN32
)上,则它将创建一个名为的宏WINPAUSE
。每当您希望程序暂停时WINPAUSE;
,使用DOS命令进行调用,它将使程序暂停。对于Unix / Linux之类的其他系统,无论如何,控制台都不应在程序退出时退出。
pause
命令是Windows特定的。
转到Debug菜单-> 按 StartWithoutDebugging
如果使用的是.NET,请将其放在Console.ReadLine()
程序末尾。
它将等待<ENTER>
。
Console.ReadKey()
只是等待任何键。
从Visual Studio 2017(15.9.4)开始,有一个选项:
Tools->Options->Debugging->Automatically close the console
Visual Studio文档中的相应片段:
调试停止时自动关闭控制台:
告诉Visual Studio在调试会话结束时关闭控制台。
尝试getchar()
在main()
返回之前立即致电。
这是一个解决方案,该解决方案(1)不需要任何代码更改或断点,并且(2)在程序终止后暂停,以便您可以看到所有已打印的内容。在F5或Ctrl + F5之后,它将暂停。主要缺点是在VS2013 Express(经测试)上,它不会加载符号,因此调试非常受限制。
创建一个批处理文件。我称我为runthenpause.bat
,内容如下:
%1 %2 %3 %4 %5 %6 %7 %8 %9
pause
第一行将运行您提供的任何命令以及最多八个参数。第二行将...暂停。
打开项目属性| 配置属性| 调试。
$(TargetPath)
(或“命令”中的任何内容)。runthenpause.bat
。现在,当您运行时,runthenpause.bat
将启动您的应用程序,并且在您的应用程序终止后,将暂停以供您查看控制台输出。
如果我弄清楚如何加载符号,我将发布更新。我为此尝试/Z7
,但没有成功。
只需按CNTRL + F5即可在外部命令行窗口中将其打开(Visual Studio无法对其进行控制)。
如果这不起作用,则在代码末尾添加以下内容:
Console.WriteLine("Press any key to exit...");
Console.ReadKey();
一旦代码到达末尾,这将等待您按一个键以关闭终端窗口。
如果要在多个位置执行此操作,请将上面的代码放入方法(例如private void Pause()
)中,并Pause()
在程序可能结束时进行调用。
更好的解决方案:
atexit([] { system("PAUSE"); });
在程序开始时。
优点:
cin.sync(); cin.ignore();
技巧而不是,则独立于+ OS system("pause");
)缺点:
extern "C" int __stdcall IsDebuggerPresent(void);
int main(int argc, char** argv) {
if (IsDebuggerPresent())
atexit([] {system("PAUSE"); });
...
}
您也可以使用此选项
#include <conio.h>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int main() {
.
.
.
getch();
return 0;
}
Console.ReadLine()
在程序末尾使用。这将使窗口保持打开状态,直到您按下Enter键。有关详细信息,请参见https://docs.microsoft.com/zh-cn/dotnet/api/system.console.readline。