我对设计guis(太多的工作)并不感兴趣,我想知道像vim这样的程序是什么,贪婪的工作是什么,vim如何在没有打印的情况下修改它的标准全部再次出现?,我经常看到终端程序的输出颜色鲜艳,是否有某种标记语言告诉终端用什么颜色来制作字体?当我使用“cin”时,终端如何知道该程序期望输入?,或者它只是允许在程序暂停时将内容放入标准中?以及如何让程序读取另一个程序的标准? 我在Ubuntu linux 10.04终端上使用c ++作为语言,谢谢!
答案 0 :(得分:3)
对于交互式终端编程,请查看Curses。该库(以及最新的NCurses)允许您使用终端对GUI进行编程。每种终端类型都支持各种功能,如光标定位,颜色等(通过terminfo
数据库记录)。
有关重定向的信息,请查看Streams上的这篇文章。每个进程都可以通过3个流--stdout / stderr / stdin。
与其父进程通信我认为Unix Power Tools是这类问题的重要资源。
答案 1 :(得分:1)
答案是curses
。
答案 2 :(得分:1)
popen(3)
,pipe(2)
或shell中的管道。答案 3 :(得分:0)
答案 4 :(得分:-1)
仅回答您的第一个问题(StackOverflow上的一个内容规则是您在每个问题上提出一个问题),它可能正在使用ANSI escape codes,尽管它可能正在使用类似Curses的库