2015-02-07 37 views
0

我想在用户输入我的程序命令的同时写入终端。例如,当用户试图打印“帮助”,它会看起来像这样:用户正在写入的同时写入输出

heNew packet with length 233 
lp 

我希望能够有命令输入略低于这里的一切输出,所以它会看起来像这样:

New packet with length 223 
Sending x to y.. 
... 
>help 

我想避免使用这个库。该程序不是跨平台的,因此只有linux的解决方案才能工作。

+0

用户如何输入? – 2015-02-07 20:19:38

+1

你真的应该寻找ncurses,他们是一个库,但他们会用最小的努力照顾一切:http://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/ – Jack 2015-02-07 20:21:04

回答

2

这将要求您管理原始输入和输出到屏幕。你说你不想使用库,但我强烈建议你看看ncurses。如果你真的想从头开始构建,你将会重塑大量的车轮。 :)

+0

我认为ncurses应该能够以帮助,但我怎么把输入栏放在屏幕的底部?我希望能够使用select(),因为它同时从网络套接字读取数据。 – user3103398 2015-02-07 20:56:40

+0

您将需要使用异步网络连接与您的选择,以便您可以在没有数据挂起时在事件循环中执行其他操作。看看IO选择呼叫。 Ncurses将允许你在屏幕上放置任何你想要的东西。 – 2015-02-07 21:03:49

+0

我正在使用异步网络连接,但我希望能够在屏幕底部的程序中输入命令。我可以通过在标准输入(0)上使用select来输入命令,但是我看不到我输入的内容。 – user3103398 2015-02-07 21:10:26