2017-05-30 206 views
0

我在Linux(Ubuntu MATE)上的Eclipse中構建了一個C程序。eclipse「TERM環境變量未設置」

#include <stdio.h> 
#include <stdlib.h> 

int main() 
{ 
    int num = 100,d1,d2,d3; 
    system("clear"); 
    while(num <= 500) 
    { 
    d1 = num % 10; 
    d2 = (num % 100)/10; 
    d3 = num /100; 
    if(num == (d3*d3*d3) + (d1*d1*d1) + (d2*d2*d2)) 
     printf("%d \n", num); 
    num = num + 1; 
    } 
    return 0; 
} 

我沒有得到任何錯誤,當我建立,但是當我通過點擊運行按鈕執行它,它說

「所需project.Continue推出錯誤存在嗎?」

然後我按Yes按鈕,它提供了以下在Eclipse控制檯輸出:

153 
370 
371 
407 
TERM environment variable not set. 

但是,當我在一個真正的終端執行該程序,然後運行良好並給出了以下幾點: output

這裏是輸出文本: -

153 
370 
371 
407 

但她e行「TERM環境變量未設置」。沒有顯示。它只發生在eclipse終端中。這是爲什麼發生?

我也可以使用真正的隊友終端,而不是日食控制檯?

+0

以文字形式發佈文字,而不是圖像! – Olaf

回答

5

輸出可能是從clear。爲了向終端發送正確的序列以清除屏幕,它需要知道終端類型並使用TERM環境變量。在日食中,您沒有真正的終端,並且沒有設置TERM變量。

這就是說,不要執行從您自己的程序clear。它分化了一個沒有收益的過程,不能移植到非nix平臺,打破了普通工具只會寫輸出而不刪除任何東西的假設,並且正如您所看到的,取決於環境。

如果您確實需要將終端作爲屏幕控制,請查看curses library

+0

請在我的問題結尾添加新行,我可以在eclipse中使用我的真實終端而不是eclipse控制檯嗎?如果是,那麼如何? – voldimot