2010-08-18 12 views
0

Je ne m'intéresse pas beaucoup à la conception de guis (trop de travail), et je veux savoir comment fonctionnent les programmes comme vim, et la cupidité, comment est-ce que vim peut modifier ce standard sans tout imprimer? encore une fois ?, et je vois souvent la sortie des programmes terminaux dans des couleurs vives, y at-il une sorte de langage de balisage qui dit au terminal quelles couleurs pour faire les polices ?, et quand j'utilise "cin", comment le terminal sait que le programme attend une entrée ?, ou permet-il simplement de mettre des choses en standard quand le programme fait une pause? et comment puis-je obtenir un programme pour lire la norme d'un autre programme? J'utilise C++ comme langage, sur un terminal Linux Ubuntu 10.04, merci!Quelqu'un at-il plus d'informations sur standard et standard?

+4

Je pense qu'il y a 3 ou 4 questions distinctes ici. –

+0

Mis en colère parce que le demandeur veut savoir comment utiliser les fonctionnalités du terminal, mais ne savait pas quoi demander, et ainsi posé un tas de questions connexes. –

Répondre

0

Si vous voulez une sortie formatée à l'écran que vous devez regarder termcap

Utilisation de la sortie d'autres programmes est effectuée à l'aide pipes

3

Pour la programmation de borne interactive, consultez Curses. Cette bibliothèque (et les plus récentes NCurses) vous permet de programmer des interfaces graphiques en utilisant le terminal. Chaque type de terminal prend en charge diverses fonctions telles que le positionnement du curseur, les couleurs, etc. (documenté via la base de données terminfo).

Pour plus d'informations sur la redirection, consultez cet article au Streams. Chaque processus peut communiquer avec son processus parent via 3 flux - stdout/stderr/stdin.

Je regarderais Unix Power Tools comme une excellente ressource pour ce type de questions.

-1

Pour répondre à votre première question seulement (une règle de maison sur StackOverflow est que vous posez une question par question), il pourrait utiliser ANSI escape codes, bien qu'il utilise probablement une bibliothèque semblable à Curses à la place.

1
  1. malédictions/ncurses
  2. termcap/terminfo
  3. Parce que fd0 est en cours de lecture.
  4. Les touches sont poussées dans stdin par le terminal lorsqu'elles se produisent, et elles ressortent à chaque lecture.
  5. popen(3), pipe(2), ou canalisation dans un shell.