【问题标题】:eclipse "TERM environment variable not set"eclipse“未设置TERM环境变量”
【发布时间】:2017-10-30 18:44:16
【问题描述】:

我已经在 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;
}

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

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

然后我按下是按钮,它会在 Eclipse 控制台中给出以下输出:

153 
370 
371 
407 
TERM environment variable not set.

但是当我在真正的终端中执行这个程序时,它运行良好并给出以下信息:

这里是文本输出:-

153 
370 
371 
407 

但这里是“未设置 TERM 环境变量”这一行。未显示。它只发生在 Eclipse 终端中。为什么会这样?

我也可以使用真正的伙伴终端而不是 Eclipse 控制台吗?

【问题讨论】:

  • 将文本发布为文本,而不是图像!

标签: c eclipse eclipse-cdt


【解决方案1】:

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

话虽如此,请不要在您自己的程序中执行clear。它派生出一个没有任何收益的进程,不能移植到非 *nix 平台,打破了普通工具只会写入输出而不删除任何内容的假设,并且如您所见,取决于环境。

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

【讨论】:

  • 拜托,我在我的问题末尾添加了新行,我可以在 Eclipse 中使用我的真实终端而不是 Eclipse 控制台吗?如果是,那么如何?
猜你喜欢
  • 2013-04-20
  • 2014-02-10
  • 2017-08-26
  • 1970-01-01
  • 2015-06-18
  • 2013-10-25
  • 2019-03-24
  • 2012-01-18
  • 2012-01-02
相关资源
最近更新 更多