我正在编写一个命令行程序,它将有一个状态栏,很像 wget。
我面临的主要问题是:如何删除已经发送到 stdout/stderr 的内容?
我有一个想法:使用退格字符“\b”并删除我发送的输出。这是最好的方法吗?这是唯一的方法吗?有没有更好的办法?
PS:我不想使用像ncurses这样的东西。普通老C请。
Thanks
EDIT:
我也可以向上和/或向下吗?示例:我有 10 行输出,我想将第 3 行更改为Doing ABC
to ABC: Done
。我怎样才能做到这一点?
另外,谁能发布有关 VT102 角色的更多详细信息吗?它有什么能力?如果您有任何好的链接,请在此发布。
Thanks
基本格式控制字符包括退格键 (\b)、制表符 (\t)、换行符 (\n) 和回车符 (\r)。如果您需要更多,那么您可以使用ANSI X3.64 http://en.wikipedia.org/wiki/ANSI_escape_code/ ISO/IEC 6429 /ECMA-48 http://www.ecma-international.org/publications/standards/Ecma-048.htm转义序列;至少VT100 子集 http://ascii-table.com/ansi-escape-sequences-vt-100.php被大多数现代终端和模拟器所识别。使用 ncurses 的一个优点是,它会查找特定终端的功能,因此即使您的终端使用不同的转义序列集,它也能正常工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)