Microsoft Visual Studio: How to keep the console open without manually reading input?

五迷三道 提交于 2019-12-01 16:13:54

问题


I'm writing some C++ with Microsoft Visual Studio 2010 Express, and I'm wondering if there is a way to display command output somewhere in the IDE instead of an external console window, or at least keep that window open.

Reading something from STDIN would work for a console application, but this is a unit test case and I don't want to modify the generated main function. Is there another way?


回答1:


Ctrl + F5 for quick test. The key combination keeps the console open until you close it.




回答2:


I've found a solution that is not really elegant, but at least it works. I'm using a fixture in my unit testing framework (Boost.Test) which does system("pause") in the tear down method:

struct Global_fixture {
    Global_fixture() {}

    ~Global_fixture()
    {
        system("pause");
    }
};
BOOST_GLOBAL_FIXTURE(Global_fixture)

I hope you guys can find a better way.




回答3:


In c++ you want to use : OutputDebugString




回答4:


I think Debug.Write (and related) should do what you're looking for. Writes to the VS output window.




回答5:


If you're running unit tests, you're not debugging, right? So use "Run withut debugging" and the console window will stay open.

Alternatively, open a command prompt of your own and launch the exe by typing its name.




回答6:


In VC++ use

Console::WriteLine(L"my error text");

Printf won't produce any output. Neither will OutputDebugString. The Console will write at the bottom of the test results output, so all you have to do is double-click on the test in the "Test Results" window.



来源:https://stackoverflow.com/questions/6137009/microsoft-visual-studio-how-to-keep-the-console-open-without-manually-reading-i

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!