我想在用户输入我的程序命令的同时写入终端。例如,当用户试图打印“帮助”,它会看起来像这样:用户正在写入的同时写入输出
heNew packet with length 233
lp
我希望能够有命令输入略低于这里的一切输出,所以它会看起来像这样:
New packet with length 223
Sending x to y..
...
>help
我想避免使用这个库。该程序不是跨平台的,因此只有linux的解决方案才能工作。
我想在用户输入我的程序命令的同时写入终端。例如,当用户试图打印“帮助”,它会看起来像这样:用户正在写入的同时写入输出
heNew packet with length 233
lp
我希望能够有命令输入略低于这里的一切输出,所以它会看起来像这样:
New packet with length 223
Sending x to y..
...
>help
我想避免使用这个库。该程序不是跨平台的,因此只有linux的解决方案才能工作。
这将要求您管理原始输入和输出到屏幕。你说你不想使用库,但我强烈建议你看看ncurses。如果你真的想从头开始构建,你将会重塑大量的车轮。 :)
我认为ncurses应该能够以帮助,但我怎么把输入栏放在屏幕的底部?我希望能够使用select(),因为它同时从网络套接字读取数据。 – user3103398 2015-02-07 20:56:40
您将需要使用异步网络连接与您的选择,以便您可以在没有数据挂起时在事件循环中执行其他操作。看看IO选择呼叫。 Ncurses将允许你在屏幕上放置任何你想要的东西。 – 2015-02-07 21:03:49
我正在使用异步网络连接,但我希望能够在屏幕底部的程序中输入命令。我可以通过在标准输入(0)上使用select来输入命令,但是我看不到我输入的内容。 – user3103398 2015-02-07 21:10:26
用户如何输入? – 2015-02-07 20:19:38
你真的应该寻找ncurses,他们是一个库,但他们会用最小的努力照顾一切:http://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/ – Jack 2015-02-07 20:21:04