在Eclipse CDT控制台中传递传输结束(Ctrl + D)字符

ano*_*non 18 c++ eclipse-cdt

我有一个C++应用程序,我需要发送一个传输结束信号.

我可以在控制台上做一个Ctrl+ D,但是当我在Eclipse中尝试它时,它不起作用.

我正在使用带有CDT的Eclipse Galileo.

Von*_*onC 21

这似乎是一个 尚未解决的bug:错误159803(2015年9月解决,CDT 9.0)

从Eclipse 3.1开始,可以在控制台视图中发出信号EOF(在密钥首选项中使用CTRL+ D/ Z- bindable),并使用简单的Java应用程序使用Eclipse 3.2.1成功测试了这一点.
另一方面,CDT EOF在控制台视图中无法识别.
但有一个例外.

如果我在主配置选项卡中运行C/C++本地应用程序并取消选中" Connect process input & output to a terminal",则控制台视图识别EOF.

但是,在Debug透视图中,此更改不会影响控制台视图.因此,在调试时,我仍然无法EOF向正在运行的应用程序发送信号.

虽然它被认为是"已解决",但此评论显示该问题仍然存在.


更新4年后(2014年12月),Fernando Gonzalez-Sanchez 在评论中提到:

UI中不再提供解决方法复选框.
OpenSUSE 12和Eclipse CDT Luna 4.4.1中仍然存在问题.


2015年3月更新:

Muhammad Annaqeeb 在评论中提到:

错误页面中提到了一个新的解决方法:

在Linux上的Kepler 4.3 eclipse.buildId = 4.3.0.M20130911-1000中,Java控制台中仍然存在问题.我找到了以下解决方法:

"如果您让控制台专注于另一个视图,然后重新聚焦在控制台上,那么Ctrl- D(EOF)将按预期工作."

  • 错误页面中提到了一个新的解决方法:“如果您离开控制台以聚焦于另一个视图,然后重新聚焦于控制台,则 Ctrl-D (EOF) 将按预期工作。” (2认同)

Mah*_*hdi 6

我刚刚找到了解决这个问题的方法:

在控制台上输入完输入后,单击另一个窗口(编辑器,Project Explorer等),然后单击控制台上的.点击Ctrl+ Z现在可以使用了.