可能重复:
什么是打击控制台closures问题的最佳做法?
在C程序完成之后,如何保持控制台closures? 当我尝试search它的时候,我发现很多关于C ++和其他语言的东西,但是对于C没有任何东西。另外,即使对于C ++,也似乎没有明确的答案。
那么有人能让我知道什么最简单的方法(不需要超级优雅)的方式来保持在C程序运行后控制台打开?
以前的答案都假设你想要调用控制台应用程序,然后基本上让它“运行”,并等待用户输入终止。 如果这是正确的假设,那么+1给GMan的答案。 但是,如果你问的是如何从快捷方式,开始 – >运行或其他机制调用这个控制台应用程序,并保持cmd窗口打开,那么你将需要通过cmd.exe
自己调用它本身的/k
选项所以:
cmd.exe /k "foo.exe"
这将启动一个cmd窗口,运行您的控制台应用程序,然后打开cmd窗口。 这将解决上面的@Thanatos。 他是正确的,你应该让控制台应用程序关闭。 再说一遍,对于我来说,目前还不清楚你真正要求什么最终目标应该是什么。
如果我做出了错误的假设,请随意-1。
从命令行运行程序,而不是直接执行它。
在Visual C ++中按Ctrl + F5。
控制台应用程序意味着从控制台运行。 如果你这样做,在运行之后,你将留下你的控制台窗口,并可以很容易地查看你的程序的输出。
你可以使用像getchar()
这样的东西强制应用程序等待按键。
让控制台关闭。
如果禁止在程序中关闭控制台,则会使程序自动化变得困难,或者会使程序输入的格式变得很奇怪。
相反,首先解决运行程序的问题,首先不要关闭终端窗口。 如果这是MS Visual Studio,请尝试F5(无需调试即可启动)。 如果您需要调试,请在程序结束处添加一个中断标记。 否则,打开命令提示符/终端并在那里运行程序。
1)您的IDE在程序开始之前打开控制台。
2)你的程序结束
3)IDE关闭控制台
a)告诉IDE不要关闭控制台…或者
b)让你的程序不结束。
a)不知道该怎么做。
b)在return 0;
之前return 0;
用于终止程序添加
printf("Press ENTER a few times to terminate the program"); fflush(stdout); getchar(); getchar(); getchar(); getchar(); getchar(); getchar(); getchar(); getchar(); return 0;
你可以在程序的最后使用getch()。 另一种方法是调试程序并在程序结束之前放置一个断点。