Visual c++ 控制台应用程序在完成时退出(Visual Studio)

Visual c++ 控制台应用程序在完成时退出(Visual Studio),visual-c++,visual-studio-2015,Visual C++,Visual Studio 2015,不过,这与代码无关。但是,在VS中编写的我的控制台应用程序将在应用程序完成其工作后立即退出(无论是调试还是通过双击*.exe直接打开)。我怎样才能防止这种情况,因为我需要查看输出 实际上是关于代码的。在控制台应用程序中,你有主()函数,因为这是C++,它将以返回0;代码>语句(或类似)。要让你的应用程序在完成后暂停,你需要做的就是把最后一行改成类似return fgetc(stdin)的内容,它现在将等待您按enter键 但要进一步扩展BeyelerStudios所说的内容,您可能需要做得更进一

不过,这与代码无关。但是,在VS中编写的我的控制台应用程序将在应用程序完成其工作后立即退出(无论是调试还是通过双击*.exe直接打开)。我怎样才能防止这种情况,因为我需要查看输出

实际上是关于代码的。在控制台应用程序中,你有主()函数,因为这是C++,它将以<代码>返回0;代码>语句(或类似)。要让你的应用程序在完成后暂停,你需要做的就是把最后一行改成类似
return fgetc(stdin)的内容,它现在将等待您按enter键

但要进一步扩展BeyelerStudios所说的内容,您可能需要做得更进一步,让它更智能一些。因此:

#ifdef DEBUG
  _tprintf(L"Press the Enter key to exit\n");
  return fgetc(stdin);
#else
  return 0;
#endif
Visual Studio输出窗口将显示在调试配置中传递给函数OutputDebugString的任何字符串。所以,如果你只是想要一个字符串,你可以看看,你可以使用它

将参数传递给函数可能是最好的解决方案,您仍然可以在发布版本中暂停,但这将需要大量的工作

最后还有一种方法。不要按F5键打开命令提示符(WindowsKey+R并键入CMD),而是将cd转到写入目录并从那里运行exe,程序存在后,所有输出都将保留在窗口中。但是如果您需要调试器,这将没有帮助

希望有帮助。

断点、黑客(
std::cin.get()
),秘密程序参数(
if(“--pause”==std::string(args[1]){std::cin.get();}
),写入文件(即通过调试器选项进行管道输出),
OutputDebugString
到输出窗口。。。