在C程序完成之后,如何保持控制台closures?

可能重复:
什么是打击控制台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()。 另一种方法是调试程序并在程序结束之前放置一个断点。