2013-01-15 82 views
0

我尝试这样做:如何保持打开控制台?

main() { 
    int a; 
    cout << "Enter a number: "; 
    cin >> a; 
    cout << a; 
    cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); 
    return 0; 
} 

但没有奏效。

+8

'的std :: cin.get();' – Rapptz

+1

你叫'ignore'之前有一个换行符在缓冲区中。 – chris

+0

你如何运行你的代码? –

回答

0

我一直使用的粉丝:

std::cout << "Paused. Press Enter to continue."; 
std::cout.flush(); 
std::cin.ignore(100000, '\n'); 
1

你并不需要修改源才能做到这一点。当你使用exit()或abort()从其他地方退出程序时,这往往会令人讨厌。大多数IDE都可以选择打开控制台。你有没有使用Dev-C++?它有一个选项来暂停控制台。您可以在环境设置中找到该选项。除非你使用Bloodshed的过时版本的Dev-C++。如果是这样,你应该更新到奥威尔版本:http://orwelldevcpp.blogspot.com

1

最简单的方法是简单地放置:

system("PAUSE"); 

,无论你想暂停是(在你的情况下,在上述返回0行; )

但是由于很多安全问题,大多数人会认为使用system是不好的做法。相反,尝试使用:

cin.get(); 
相关问题