I often see people use the header file of conio.h
in C and C++, although I can´t see any major benefits in use of the functions inside of conio.h
in comparison to the standard library functions. conio.h
has furthermore the disadvantages of being dependent on the Windows/MS-DOS environment and not being part of the C standard.
conio.h
?conio.h
provide, what the functions of the standard C libraries can't?conio
library?The conio.h header is specific to Turbo C, which predates the earliest C standard by several years. It contains routines that are specific to the DOS command line. One function here that's frequently used is getch
, which allows reading one character at a time without having to press the Enter key. It also contains gotoxy
which allows placing the cursor at a specific location in the terminal
Generally speaking, methods of communicating with the terminal like this are very OS specific, so each has their own (typically non-portable) way of doing it.
This contrasts with the functions in stdio.h which contain functions like printf
, scanf
, and getchar
which work regardless of what type of console is in use.
What is the reason to choose functions of conio.h?
It has functions that are not provided by the standard library, and people who choose it don't (know to) care about porting to other systems.
What do functions inside of conio.h provide, what the functions of the standard C libraries can´t?
These are some functions that don't have standard alternative. There may be others:
kbhit
clrscr
getch
getche
Standard library potentially could provide the functions. But it doesn't.
Why to choose the conio library?
Because you've been taught to use it, and you don't (know to) care about porting to other systems.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With