Microsoft Visual Studio:如何在不手动读取输入的情况下保持控制台打开
Microsoft Visual Studio: How to keep the console open without manually reading input?
我正在用Microsoft Visual Studio 2010学习版编写一些C++,我想知道是否有一种方法可以在IDE中的某个位置显示命令输出,而不是外部控制台窗口,或者至少保持该窗口打开。
从STDIN中读取一些内容对于控制台应用程序来说是可行的,但这是一个单元测试用例,我不想修改生成的主函数。还有别的办法吗?
Ctrl+F5用于快速测试。组合键保持控制台打开,直到您关闭它。
我发现了一个解决方案,虽然不是很优雅,但至少它能工作。我在我的单元测试框架(Boost.Test)中使用了一个fixture,它在分解方法中执行system("pause")
:
struct Global_fixture {
Global_fixture() {}
~Global_fixture()
{
system("pause");
}
};
BOOST_GLOBAL_FIXTURE(Global_fixture)
我希望你们能找到更好的方法。
在c++中要使用:OutputDebugString
我认为是调试。写作(和相关)应该做你想要做的事情。写入VS输出窗口。
如果您正在运行单元测试,那么您不是在调试,对吗?因此,使用"运行而不调试",控制台窗口将保持打开状态。
或者,打开自己的命令提示符,然后键入exe的名称来启动它。
在VC++中使用
Console::WriteLine(L"my error text");
Printf不会产生任何输出。两者都不会OutputDebugString。控制台将在测试结果输出的底部进行写入,因此您所要做的就是双击"测试结果"窗口中的测试。
相关文章:
- 如何在不知道向量大小的情况下输入向量内部的向量?
- 在不使用字符串库的情况下输入字符*
- 我有两棵二叉树.我想在不更改输入树的情况下深度复制两个二叉树的结果
- 如何在没有打印语句的情况下报告用户输入错误
- 在什么情况下,使用'const T*'输入参数比'const T&'更可取?
- 程序在没有输入的情况下退出,它有基本的,驱动的类属性初始化问题
- 在给定相同的输入的情况下,某些代码怎么可能花费更多时间来运行,这似乎只是因为它处于循环中?
- 如何在不冻结程序的主线程的情况下等待条形码读取器输入
- 如何在不知道尺寸的情况下在 2D 数组中输入
- 如何在不中断剩余代码的情况下仅C++中输入整数
- 在我的输入中没有空格的情况下,程序工作正常?C++
- 如何在没有原因(有输入)的情况下修复迭代;在 c++ 中?
- 如何在给定特定公式的情况下将用户输入的一些数字相加
- 如何在不阻塞输入的情况下使用getline
- 我可以在不声明变量类型的情况下获取输入,或者在 c++ 中为同一变量声明多个类型吗?
- 在不暂停贪吃蛇游戏的情况下获取输入
- 在不使用空格或回车的情况下输入两个数据
- 如果我们在需要整数的开关情况下输入字符会发生什么
- 如何在没有某种数组的情况下输入多个值
- 如何在不输入n的情况下输入数组中的元素?(c++)