Where is the <conio.h> header file on Linux? Why can't I find <conio.h>? [duplicate] Where is the <conio.h> header file on Linux? Why can't I find <conio.h>? [duplicate] c c

Where is the <conio.h> header file on Linux? Why can't I find <conio.h>? [duplicate]


conio.h is a C header file used with old MS-DOS compilers to create text user interfaces. Compilers that target other operating systems, such as Linux-based, 32-bit Windows and OS/2, provide equivalent functionality through other header files and libraries.

The #include <curses.h> will give you almost all of the functionality provided by conio.h.

"ncurses" needs to be installed in the first place.

If you use the Apt package manager:

sudo apt-get install libncurses5-dev libncursesw5-dev

If you use rpm:

sudo yum install ncurses-devel ncurses

For getch, take a look at the "NCURSES Programming HOWTO" article.


The original conio.h was implemented by Borland, so its not a part of the C Standard Library nor is defined by POSIX.

But here is an implementation for Linux that uses ncurses to do the job.


That is because it does not exist, since it is bounded to Windows.

Use the standard functions from <stdio.h> instead, such as getc

The suggested ncurses library is good if you want to write console-based GUIs, but I don't think it is what you want.