Raú*_*Roa 182 console visual-c++
我开始使用Visual C++,我想知道如何保持控制台窗口.
例如,这将是典型的"hello world"应用程序:
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Hello World";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我错过的是什么?
小智 382
用Ctrl+F5而不是仅仅启动项目F5.
Press any key to continue . . .程序退出后,控制台窗口现在将保持打开状态.
请注意,这需要Console (/SUBSYSTEM:CONSOLE)链接器选项,您可以按如下方式启用它:
CTRL-F5和子系统提示一起工作; 它们不是单独的选择.
(来自http://social.msdn.microsoft.com/Forums/en-US/vcprerelease/thread/21073093-516c-49d2-81c7-d960f6dc2ac6的DJMorreTX提供)
Gor*_*son 41
标准方式是cin.get()在您的退货声明之前.
int _tmain(int argc, _TCHAR* argv[])
{
cout << "Hello World";
cin.get();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
Mar*_*rin 17
另一种选择是使用
#include <process.h>
system("pause");
Run Code Online (Sandbox Code Playgroud)
虽然这不是很便携,因为它只能在Windows上运行,但它会自动打印
按任意键继续...
iko*_*o79 10
正如一些人已经指出的那样,Zoidberg 的解决方案没有附加调试器,这是您通常不想要的。
我认为最好的选择是相应地配置您的 VS(从 VS 2017 开始),方法是转到“工具”>“选项”>“调试”>“常规”。在那里,您取消选中“调试停止时自动关闭控制台”(在最底部),这可能在您的情况下被选中。
编辑:
在这里添加 Wheezil 的附加信息(谢谢):确保通过指定(项目属性 > 链接器 > 系统 > 子系统)构建控制台子系统/SUBSYSTEM:CONSOLE
对于makefile项目,由于Visual Studio中的错误(至少在2012版本之前 - 我还没有测试过2013年),接受的解决方案失败了.这个bug 在这里详述.
为了在makefile项目上终止程序后让控制台暂停,请执行以下步骤(对于2010 - 2012以外的版本,这可能会有所不同):
1)传递- 编辑:见下文./SUBSYSTEM:CONSOLE给链接器.
2)在文本编辑器中打开项目文件(.vcxproj).
3)在根<project>标签内插入以下内容:
Run Code Online (Sandbox Code Playgroud)<ItemDefinitionGroup> <Link> <SubSystem>Console</SubSystem> </Link> </ItemDefinitionGroup>
4)在解决方案中重新加载项目.
5)运行程序而不调试(CTRL + F5).
编辑:
根据我在下面的评论,设置链接器选项/SUBSYSTEM:CONSOLE实际上与makefile项目无关(如果您使用的是MSVC以外的编译器,则不一定可能).重要的是该设置被添加到.vcxproj文件中,如上面的步骤3所示.
| 归档时间: |
|
| 查看次数: |
271263 次 |
| 最近记录: |