我该如何编写命令行界面?

Eon*_*nil 3 c user-interface command-line posix

我是一名GUI开发人员.我使用了许多GUI框架,包括WindowsForms,Flash,HTML,AppKit,UIKit.我可以说我知道如何编写GUI.

突然间,我对命令行界面感兴趣.像VI或Emacs.因为我开始使用GUI编程,所以我没有任何关于CLI的经验或知识.当然,我使用了VI和unix shell,但是我不知道如何实现它们.我想知道它.

对于GUI,所有图形内容的大多数基本构造都是最低级别的绘图方法.对于软件实现,它是基于CPU的绘图方法.对于硬件加速实现,它是基于OpenGL的方法.所有GUI内容都建立在它们之上.我对CLI有什么期望?如何在控制台上绘制文本并使插入符闪烁?

我只需要第一步.像函数名称或库名称.例如,像setPixel()函数一样的东西.任何帮助将不胜感激.

PS我更喜欢通用Unix系统.主要是POSIX.目前我正在使用Mac OS X.当然语言是C.

SF.*_*SF. 5

如果你想直接潜水,学习ncurses并打字.这是编写控制台gfx应用程序的方法.

如果您想学习基础知识,ANSI转义码.这是ncurses如何与终端进行魔法交互的机制.它本身就很容易管理,也是一个有趣的学习主题 - 你只需要打印一个转义序列,光标移动到屏幕上的特定点,或者打印出的任何内容都以反向视频打印,依此类推.从那里开始,使用256个ASCII代码的上半部分是原始的semigraphics,依此类推.