2011-02-28 88 views
3

可能重复:
How to stop C++ console application from exiting immediately?防止exe文件从闭

我创建C中的exe文件。当我运行它时,命令提示符打开,然后快速关闭,我看不到输出。该程序不会从用户处获取运行时值。它从文件读取数据。有什么办法可以防止这种情况发生?

+2

这已被问了很多次之前:http://stackoverflow.com/questions/2725823/how-do-i-get-the-screen-to-pause http://stackoverflow.com/questions/2529617/如何停止c控制台应用程序从退出立即http://stackoverflow.com/questions/902261/is-there-a-decent-wait-function-in-c,更不用说http: //stackoverflow.com/questions/193469/how-to-make-visual-studio-pause-after-executing-a-console-app-in-debug-mode和http://stackoverflow.com/questions/900666/系统调用中的c和他们的角色在编程。 – 2011-02-28 22:25:47

+1

哦,但这些都是C++的问题! – 2011-03-01 11:21:20

回答

0

你在Windows吗?如果是这样,一个快速和肮脏的方法是使用stdlib.h中的system()函数(确保包含它)在命令提示符下执行PAUSE命令。

system("PAUSE"); 
+0

它没有工作:( – 2011-02-28 22:27:36

+0

[请,号](http://www.gidnetwork.com/b-61.html) – 2011-02-28 23:29:24

9

从命令行本地运行它。

比方说,你的文件在C:\ awesomeness.exe

打开CMD,输入cd C:\然后键入awesomeness.exe

+0

谢谢,真的帮助读出一个错误,这真是一个非常棒的答案。 – JochemQuery 2013-12-18 10:43:32

2

一个经典的方式做到这一点:

#include <stdio.h> 

int main() { 
    puts("hai"); 
    getchar(); 
} 

这将在最后等待按键。

-1

使用'system(“pause”);'在结束main()之前是最常用的方法。

int main() { 
    ... 
    ... 
    system("pause"); 
} 
+0

'系统(“暂停”);'是最常用的方法[避免](http://www.gidnetwork.com/b-61.html)。 – 2011-02-28 23:30:02

+0

通过计数小型作业程序,它可能实际上是最常见的方法,无论是好还是喜欢,但有些人觉得十字军东征比简单的修正更好,下面说“system()效率低下,x更好,做同样的事情”。实际上在几乎相同数量的字母上达到了更快的速度 – 2011-07-18 20:31:42

0

如果您正在使用Visual Studio,以运行您的程序打CTRL + F5而不是F5

+0

但是这样你就失去了调试设备;在IDE中,更好的方法是在结束之前添加一个断点 – 2011-02-28 23:31:20

+0

不必中断? 我想 工作正常,直到用户将程序作为exe文件传出并且人们运行,哎呀......它说了什么? – 2011-07-18 20:32:51