C 编程/MS Windows 参考/conio.h
外观
< C 编程 | MS Windows 参考
conio.h 是一个在旧的 MS-DOS 编译器中使用的 C 头文件,用于创建文本用户界面。它在 The C Programming Language 书籍中没有描述,它也不是 C 标准库、ISO C 的一部分,也不被 POSIX 要求。
此头文件声明了几个有用的库函数,用于从程序执行“控制台输入和输出”。大多数针对 DOS、Windows 3.x、Phar Lap (company)|Phar Lap、DOSX、OS/2 或 Win32[1] 的 C 编译器都有此头文件,并在默认的 C 库中提供相关的库函数。大多数针对 UNIX 和 Linux 的 C 编译器都没有此头文件,也不提供库函数。一些嵌入式系统使用与 conio 兼容的库[2]。
由conio.h声明的库函数在不同的编译器之间略有不同。正如最初在 Lattice C 中实现的那样,各种函数直接映射到前几个 DOS int 21h 函数。但是,Borland 的 Turbo C 附带的库没有使用 DOS API,而是直接访问视频 RAM 进行输出并使用 BIOS 中断调用;它们还具有受成功的 Turbo Pascal 库启发的其他函数。
针对非 DOS 操作系统的编译器,例如 Linux[需要引用]、Win32 和 OS/2,提供了这些函数的不同实现。[需要引用] DJ Delorie 为 DJGPP|GO32 扩展程序完成的版本特别广泛[3]。另一个例子是 SyncTERM#Libraries | SyncTERM 的 ciolib。
lpc
int kbhit(void) | 确定是否按下了键盘键。 |
int getch(void) | 直接从控制台读取字符,不带缓冲区,也不带回显。 |
int getche(void) | 直接从控制台读取字符,不带缓冲区,但带回显。 |
int ungetch(int c) | 将字符 c 放回键盘缓冲区。 |
char *cgets(char *buffer) | 直接从控制台读取字符串。 |
int cscanf(char *format, arg0,... argn) | 直接从控制台读取格式化的值。 |
int putch(int c) | 直接将字符写入控制台。 |
int cputs(const char *string) | 直接将字符串写入控制台。 |
int cprintf(const char *format, arg0,... argn) | 格式化值并直接将其写入控制台。 |
1989 年以后的编译器在名称前加了一个 _,以符合 ANSI C 标准的要求。
- Digital Mars 的文档
- IO 常见问题解答 - 对非标准控制台 IO 的解释和建议
- 用于 MinGW/Dev-C++ 的 Borland 风格 CONIO 实现
- 获取原始键盘输入的方法列表