2014-12-25 71 views
0

您好我正在使用visual studio express 2013.我從來沒有使用vs之前,所以只是爲了測試它,我運行了一個簡單的C++程序,用戶輸入2個整數,然後顯示它們的總和。問題在於控制檯窗口出現並接受輸入,但是一旦輸出顯示後立即關閉。請注意,這發生在所有輸入完成並顯示輸出後。有沒有什麼辦法解決這一問題?我已經找遍了,找不到解決方案。我試過在我的程序結尾包括一些諸如getch()函數之類的東西,然後按下ctrl F5來調試我的程序,但似乎沒有任何效果。請幫忙!!!如何防止Visual Studio 2013控制檯窗口在運行程序後立即關閉?

+0

另請參見[如何保持控制檯窗口在visual C++中打開?](http://stackoverflow.com/questions/454681 /如何對保的控制檯窗口打開,在視覺-C)。如果您將該項目創建爲「Win32控制檯應用程序」,則CTRL-F5將使控制檯窗口保持打開狀態。 –

回答

0

我一直在使用這個, int getchar(void);

從標準輸入中獲取字符 返回標準輸入(標準輸入)中的下一個字符。

OR

使用這種從process.h

system("PAUSE"); 

這種方法對於初學者。由於它是一種特定於平臺的黑客攻擊,與實際學習編程無關,而是繞過IDE/OS的一項功能 - 當程序執行完畢後,從Visual Studio啓動的控制檯窗口關閉新用戶不會看到他的新程序的輸出。

一個體面的方法是Debug.WriteLine

// mcpp_debug_class.cpp 
// compile with: /clr 
#using <system.dll> 
using namespace System::Diagnostics; 
using namespace System; 

int main() 
{ 
    Trace::Listeners->Add(gcnew TextWriterTraceListener(Console::Out)); 
    Trace::AutoFlush = true; 
    Trace::Indent(); 
    Trace::WriteLine("Entering Main"); 
    Console::WriteLine("Hello World."); 
    Trace::WriteLine("Exiting Main"); 
    Trace::Unindent(); 

    Debug::WriteLine("test"); 
} 
+0

系統的主要問題(「暫停」)是它創建一個新的過程。這不是什麼大問題,但似乎沒有必要。 – user34660

0

在調試模式下,你的主回來之前,你可以把一個斷點,你將能夠看到您的控制檯,您正在等待結果。

+0

如果我可以投票,我會爲此投票。沒有必要在IDE中調試時只需要在代碼中添加內容。 – user34660

0

system("PAUSE"); 

無論你需要的程序執行窗口暫停。如果你使用的是int main(),通常它會在你返回之前0

相關問題