问题描述
|
我正在用Microsoft Visual Studio 2010 Express编写一些C ++,我想知道是否有一种方法可以在IDE中的某个地方而不是外部控制台窗口中显示命令输出,或者至少保持该窗口处于打开状态。
从STDIN读取内容对于控制台应用程序是可行的,但这是一个单元测试用例,我不想修改生成的main函数。还有另一种方法吗?
解决方法
Ctrl + F5
快速测试。
组合键可使控制台保持打开状态,直到您将其关闭为止。
,我找到了一个不是很优雅的解决方案,但至少可以奏效。我在单元测试框架(Boost.Test)中使用固定装置,该装置在拆卸方法中的作用为
system(\"pause\")
:
struct Global_fixture {
Global_fixture() {}
~Global_fixture()
{
system(\"pause\");
}
};
BOOST_GLOBAL_FIXTURE(Global_fixture)
我希望你们能找到更好的方法。
,在c ++中,您想使用:OutputDebugString
,我认为Debug.Write(及相关功能)应该可以满足您的需求。写入VS输出窗口。
,如果您正在运行单元测试,那么您不是在调试,对吗?因此,使用“ Run withut debugging”,控制台窗口将保持打开状态。
或者,打开您自己的命令提示符并通过键入其名称启动exe。
,在VC ++中使用
Console::WriteLine(L\"my error text\");
Printf将不会产生任何输出。 OutputDebugString也不会。控制台将在测试结果输出的底部写入内容,因此您只需在\“ Test Results \”窗口中双击测试即可。