可能的重复问题:
如何在Linux中实现C语言中的getch()函数?
在Linux中,相当于MS-DOS的conio.h
头文件是什么?
是否有一种替代其功能的方法?例如: getch()
我正在使用
gcc
和文本编辑器Geany
编译C
代码。
可能的重复问题:
如何在Linux中实现C语言中的getch()函数?
在Linux中,相当于MS-DOS的conio.h
头文件是什么?
是否有一种替代其功能的方法?例如: getch()
我正在使用
gcc
和文本编辑器Geany
编译C
代码。
conio.h
是一个C头文件,用于旧的MS-DOS编译器创建文本用户界面。针对其他操作系统(例如基于Linux的32位Windows和OS/2)的编译器通过其他头文件和库提供等效功能。
#include <curses.h>
将为您提供几乎所有conio.h
提供的功能。
首先需要安装“ncurses”。
如果您使用的是Apt软件包管理器:
sudo apt-get install libncurses5-dev libncursesw5-dev
如果您使用 rpm
:
sudo yum install ncurses-devel ncurses
关于getch
,请参考"NCURSES编程HOWTO"文章。
curses
或 ncurses
的程序通常会接管整个(文本)屏幕,这可能是您想要的,也可能不是。 - Keith Thompson原始的conio.h是由Borland实现的,因此它不是C标准库的一部分,也没有被POSIX定义。
但是这里有一个适用于Linux的实现,它使用ncurses来完成工作。
这是因为它不存在,因为它被限制在Windows中。
相反,使用标准函数<stdio.h>
中的getc等。
如果要编写基于控制台的图形用户界面,则建议使用ncurses库,但我认为这不是你想要的。
#include <stdio.h>
吗? - VLL