2011-09-01 108 views
3

這不是一個奇怪的程序。這是一個簡單的C++ Hello World程序,無論出於何種原因,在終端或輸出窗口中都沒有輸出到終端。這是我的「代碼」。Netbeans C++程序沒有終端輸出

#include <cstdlib> 
#include <iostream> 

using namespace std; 

int main(int argc, char** argv) { 
    cout << "Hello there peeps!"; 
    cout << endl; 
    system("pause"); 
    return 0; 
} 

在Ubuntu 11.04納蒂

+0

構建代碼是否顯示任何錯誤? – arunkumar

+0

不是。沒有錯誤。 – avatarmonkeykirby

+0

它被編譯爲64位嗎?我記得在Netbeans中有一個錯誤,並且有64位編譯的程序和輸出。 –

回答

1

使用NetBeans 6.9嘗試安裝的xterm,爲我工作。 (在Fedora 18,Ubuntu的,但應該類似)

sudo apt-get install xterm 

sudo yum install xterm 
+0

正確答案。另請注意,目前有必要重新啓動Netbeans **以使其生效。 – DragonLord

1

你可以試試這個:

Project properties -> Run -> Console Type並選擇Standard Output那裏。

如果這已經選擇測試Internal Terminal

+1

在Lubuntu 14.04上使用NetBeans 8.0.2和JRE 1.7.0_75 OpenJDK時遇到此問題。你的建議修正了它,謝謝!你能否詳細說明兩者有什麼不同?我甚至沒有意識到這個功能,我認爲NetBeans已經在使用stdout了。 – Nobilis

+1

我認爲內部終端是一些(java/netbeans?)實施版本,無法正確刷新。通常作爲另一個解決方法:使用調試器運行 - 這也經常運行。所以我猜測內部終端在調試模式(自動刷新)和流出如果運行正常(不正確刷新?)的錯誤流。也許*標準輸出*直接使用stdout/stderr,或者作爲本機進程運行並顯示它的輸出。但這只是一種猜測。 – ollo

+0

我不知道它是否也與使用線程有關,因爲我正在使用C++編譯一個使用已在調試模式下運行的線程的程序。在此之前,我沒有發現任何問題。我想知道他們爲什麼必須使用內部終端,並且不能重複使用'stdout'。 – Nobilis