我想输出的东西到终端窗口,然后只清除它的一部分(如前半部分或季度等),而不是其余部分。有什么办法可以做到这一点?我正在使用系统(“清除”),但清除了所有内容。我宁愿不使用ncurses。任何帮助表示赞赏。在C++ unix中清除终端屏幕的一部分?
-1
A
回答
3
3
如果你计算出你的终端的功能是什么,你可以简单地用cout将它们写入stdout。
如果您不确定从哪里开始,可以尝试如下所示:在提示符下键入man terminfo
,您可能会收到一个终端功能列表。试试tput
看看哪些工作。然后找出你需要打印的代码的东西,如:
% tput el | od -t x1
0000000 1b 5b 4b
0000003
发送这些字节到我的终端问题“clr_eol”(“厄尔尼诺”),它会清除该行的末尾。弄清楚如何在终端上移动光标,如何清除线条,然后就完成了。
当您使用gnome-terminal时,您可以这样做来擦除前3行:将光标移动到主页,擦除到行尾,向下移动,擦除到行尾,向下移动,擦除到行结束。
找出你需要打印的内容:
% (tput home ; tput el ; tput cud1 ; tput el ; tput cud1 ; tput el ; tput cud1 ; tput el ; tput cud1 ; tput el) | od -t x1
0000000 1b 5b 48 1b 5b 4b 0a 1b 5b 4b 0a 1b 5b 4b 0a 1b
0000020 5b 4b 0a 1b 5b 4b
0000026
发送的字节(1B 5B 48等)到标准输出(与COUT)会做的伎俩从C++。
使用ncurses会更加便携,如果你不想使用它,你可能会发现你最终会重新实现它。
0
有两个VT100转义序列用于分别从光标和上/下到屏幕的顶部/底部进行清除。
相关问题
- 1. 清除终端屏幕
- 2. 清除终端屏幕?
- 3. 只清除Python中的部分屏幕
- 4. 清除屏幕C
- 5. 清除屏幕在C的特定部分++
- 6. 如何使用Perl清除终端中的屏幕?
- 7. 运行mysql时清除unix终端
- 8. 清除终端屏幕在命令行镖应用
- 9. linux nasm程序集清除屏幕在终端
- 10. 在C++/XCode中清除屏幕
- 11. 在C++中清除屏幕命令
- 12. C++程序清除屏幕
- 13. 在使用屏幕命令水平分割终端之后在unix的另一个终端显示输出
- 14. 在IPython中清除屏幕
- 15. 在OpenGL中清除屏幕
- 16. 在Android中清除屏幕
- 17. 在GLUT,C++的按键清除屏幕
- 18. 清除屏幕
- 19. OpenGL:如何只清除屏幕的一部分?
- 20. 如何只清除屏幕的一部分?
- 21. 如何在C中清除屏幕区域或重绘屏幕#
- 22. 清除屏幕
- 23. 跨平台Ruby方法来清除终端屏幕
- 24. 如何使用代码块清除mac osx上的终端屏幕C++?
- 25. 如何在新行打印后清除Rust中的终端屏幕?
- 26. 如何拆分屏幕Emacs和终端
- 27. Java清除屏幕
- 28. localStorage清除屏幕
- 29. 清除Python中屏幕
- 30. 在Xcode清除屏幕
什么是您的终端? –
只是使用Ubuntu的,所以无论终端在那里 – Sterling
如果没有其他的工作,打印100次“\ n”,并重新打印什么不需要更改 –