0

当我通过命令行运行一个程序时,一旦程序结束,cmd会立即关闭,所以我看不到输出。有没有办法阻止这种情况发生,这样我才能真正验证输出?

#include<iostream>
using namespace std;
class Exercises {
public: 
    void sayHello(int x) {
        for (int i = 0; i < x; i++)
            cout << "Hello!!" << endl;
    }
}exercise;

int main() {
    exercise.sayHello(4);
    return 0;
}
4

4 回答 4

5

你也可以使用 cin.get();

它将等待您按 Enter 键或直到您关闭程序。

于 2013-03-19T01:54:09.953 回答
2

以下方法可以帮助保持命令窗口,直到提供另一个输入。

#include <conio.h>
void main(){

// your program here

 getch();
}

另一种方法是 system("pause");在程序结束时使用。

于 2013-03-19T01:53:32.630 回答
0

您可以通过以下方式暂停程序的执行一段时间:

sleep(5); // sleep for 5 seconds

你可以把它放在程序的末尾之前return 0;

于 2013-03-19T01:53:00.190 回答
0

如果您不介意在程序结束时等待按键,您可以放入一些东西。

Windows 中最简单的方法是:

system("pause");

但是,如果您要发布软件,请不要这样做。您可以pause很容易地实现命令的行为。

std::cout << "Press any key to continue . . . " << std::flush;
while( !_kbhit() ) Sleep(25);
getch();

那是使用来自conio.h.

但是,我担心cmd外壳本身会关闭。当您说“使用 cmd 运行”时,您实际上是在运行一个 shell,然后输入您的程序名称并按 Enter 键吗?如果这关闭了外壳,那么就有问题了。更有可能的是,您通过在资源管理器中双击文件来运行它,对吧?

于 2013-03-19T01:53:42.760 回答