控制台编程基础主要包括以下五篇文章:
写这一系列的文章,主要是整理下关于控制台的概念及知识,对我过去关于控制台的认识和学习做一个相对完整的总结。
控制台主要是有输入缓冲和屏幕缓冲构成,上面五篇文章也主要针对这两个缓冲展开。
“”一文偏向理论为主,介绍控制台的基本元素:输入缓冲、屏幕缓冲,各个元素的构成,输入缓冲包含各种键盘、鼠标、窗口缩放、缓冲区改变、菜单等事件,屏幕缓冲主要包含字符属性、光标、窗口位置等。“”一文主要介绍控制台API提供的高层、底层访问机制,包括控制台的输入输出模式,高层输入输出函数、底层输入输出函数,最后简单介绍了控制台的Code Page及事件处理方式。“”一文,作为针对控制台输入输出的一个补充部分,主要介绍控制台屏幕缓冲的访问权限、控制台别名机制等。
其中“”、“”中主要给出针对各自概念性讲解给出的示例代码,有部分参考msdn,修改部分代码,提高对比效果,一部分示例是本人自己编写。
通过这五篇文章的整理,基本可以了解控制台的运行原理,并对控制台的各个部分做全面的控制。
还有部分内容这里并没有介绍。比如控制台文本区域的选择及复制,控制台输入缓冲中的事件的查询和清空,控制台模拟键盘输入,控制台Code Page的切换及使用。更深入一些可以在控制台上实现文本编辑器的效果、模拟GUI绘图(基于文本的游戏)等等。有兴趣的读者建议参考下msdn上相关资料了解下。
再次说明,本文所有内容是在windows下的相关讨论,*nix可能也有类似机制,但因本人对*nix系统没有任何了解,这里不做任何跨平台的说明及尝试。