Search code examples
clinuxgccheader-files

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


Possible Duplicate:
How to implement getch() function of C in Linux?

What is the equivalent Linux version of the conio.h header file from MS-DOS?

Is there a way to replace its functionality? e.g. getch()

I'm using gcc and the text editor Geany to compile C code.


Solution

  • 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.