eclipse“TERM环境变量未设置”

时间:2017-05-30 10:28:39

标签: c eclipse eclipse-cdt

我已经在Linux(Ubuntu MATE)上的Eclipse中构建了一个C程序。

#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;
}

构建它时我没有收到任何错误,但是当我按下运行按钮执行它时,它会显示

  

“所需项目中存在错误。继续启动?”

然后我按下yes按钮,它在Eclipse控制台中提供以下输出:

153 
370 
371 
407 
TERM environment variable not set.

但是当我在一个真正的终端中执行这个程序时,它运行正常并给出以下内容: output

这里输出文字: -

153 
370 
371 
407 

但这里的行“TERM环境变量未设置”。没有显示。它只发生在eclipse终端。为什么会这样?

我也可以使用真正的配对终端代替eclipse控制台吗?

1 个答案:

答案 0 :(得分:4)

输出可能来自clear。为了将正确的序列发送到终端以清除屏幕,它需要知道终端类型并使用TERM环境变量。在eclipse中,你没有真正的终端,也没有设置TERM变量。

话虽这么说,不要从你自己的程序中执行clear。它提出了一个无法获得的进程,无法移植到非* nix平台,打破了普通工具只会写输出而不删除任何内容的假设,并且,如您所见,取决于环境。

如果您确实需要控制终端作为屏幕,请查看curses library