2011-03-06 137 views
2

我目前正在學習C++編程課程。我注意到我的教授程序在他們的程序結束時自動關閉。它通常會提示用戶輸入,然後在輸入輸入時關閉程序。我將如何編碼?這是一個.exe文件C++代碼自動關閉控制檯

回答

3

如果您的程序不等待任何輸入,它會運行並最終退出程序。退出時,控制檯自動關閉。我假設,要運行程序,您只需單擊.exe,而不是從cmd.exe運行該程序,或者從Visual Studio本身運行程序而不進行調試。

+1

從「按任意鍵」消息安迪提到的,我猜他是從Visual Studio中運行它無需調試判斷。 – 2011-03-06 08:44:30

0

很容易,你的main()函數的投入這到底:

int x; 
cin >> x; 
我只能用回0讓我「按任意鍵繼續」

注知道

這定義了一個新的變量,並試圖用用戶輸入填充它,然後程序不會被終止,直到用戶給它輸入。這就是程序到達Press any key to continue的方式,最後用0參數退出程序,並且控制檯窗口將自動銷燬,因爲它是該進程的主窗口。

2

你可以只把下面的行return 0;前:

std::cin.get(); 

它會等待一些輸入,然後繼續。

1

使用getch();return;聲明

1

返回0給「按任意JEY繼續」是特定的調試器的行爲。在調試器外部運行編譯好的exe通常不會顯示出來。下面的簡單代碼比你所要求的要多一點(它重複你輸入的內容),但是仍然給出了總體思路。

#include <iostream> 
using namespace std; 

int main() { 
    cout << "enter something" << endl; 
    string stuff; 
    cin >> stuff; 
    cout << "You entered " << stuff << " you insensitive clod" << endl; 
    return 0; 
} 
0

我建議使用:

std::cin.clear(); 
std::cin.sync(); 
std::cin.get(); 

原因有可能是當你需要寫東西,你將需要按ENTER鍵,這將使

std::cin.get(); 

useles。因爲它會記住你第一次按下ENTER並關閉窗口。

樣品:

#include <iostream> 
#include <string> 

int main() 
{ 
    std::string name; 
    std::cout << "Your name: "; 
    std::cin >> name;   \\ <--Place where you press ENTER <-------------- 
    std::cout << "Hi, " << name << "."; 

    std::cin.get(); 
    return 0; 
}