我想在用戶輸入我的程序命令的同時寫入終端。例如,當用戶試圖打印「幫助」,它會看起來像這樣:用戶正在寫入的同時寫入輸出
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