有没有人有关于标准和标准的更多信息?

时间:2010-08-18 21:40:04

标签: c++ linux stdout stdin

我对设计guis(太多的工作)并不感兴趣,我想知道像vim这样的程序是什么,贪婪的工作是什么,vim如何在没有打印的情况下修改它的标准全部再次出现?,我经常看到终端程序的输出颜色鲜艳,是否有某种标记语言告诉终端用什么颜色来制作字体?当我使用“cin”时,终端如何知道该程序期望输入?,或者它只是允许在程序暂停时将内容放入标准中?以及如何让程序读取另一个程序的标准? 我在Ubuntu linux 10.04终端上使用c ++作为语言,谢谢!

5 个答案:

答案 0 :(得分:3)

对于交互式终端编程,请查看Curses。该库(以及最新的NCurses)允许您使用终端对GUI进行编程。每种终端类型都支持各种功能,如光标定位,颜色等(通过terminfo数据库记录)。

有关重定向的信息,请查看Streams上的这篇文章。每个进程都可以通过3个流--stdout / stderr / stdin。

与其父进程通信

我认为Unix Power Tools是这类问题的重要资源。

答案 1 :(得分:1)

答案是curses

答案 2 :(得分:1)

  1. 诅咒/ ncurses的
  2. 的termcap / terminfo的
  3. 因为正在读取FD0。
  4. 当它们发生时,按键被终端推入stdin,只要它被读取就会弹出。
  5. popen(3)pipe(2)或shell中的管道。

答案 3 :(得分:0)

如果您想在屏幕上显示格式化输出,则需要查看termcap

使用pipes

完成其他程序的输出

答案 4 :(得分:-1)

仅回答您的第一个问题(StackOverflow上的一个内容规则是您在每个问题上提出一个问题),它可能正在使用ANSI escape codes,尽管它可能正在使用类似Curses的库