conio.h (від — консольне введення-виведення) — заголовковий файл, використовуваний у старих компіляторах, що працюють в операційних системах MS-DOS, для створення текстового інтерфейсу користувача. Не є частиною мови програмування Сі, стандартної бібліотеки мови Сі, ISO C і не вимагається стандартом POSIX.
Цей заголовковий файл оголошує кілька бібліотечних функцій для роботи з «консольним введенням і виведенням» програми. Більшість компіляторів мови Сі, призначених для DOS, Windows 3.x, Phar Lap, DOSX, OS/2 або Win32 мали цей файл і забезпечували супутні бібліотечні функції в бібліотеці Сі за замовчуванням. Більшість компіляторів мови Сі, призначених для UNIX і Linux, не мають цього файлу і не забезпечують супутніх бібліотечних функцій.
Бібліотечні функції, оголошені в conio.h, суттєво відрізнялися залежно від компілятора. Спочатку реалізовані в Microsoft Visual C++ різні функції прив'язувалися безпосередньо до кількох перших функцій DOS, пов'язаних з переривання 21h. Але бібліотека, що постачається з Turbo C++ та Borland C++, не використовує DOS API, а замість цього напряму звертається до відеопам'яті для виведення інформації та використання .
Компілятори, призначені для операційних систем, відмінних від DOS, таких як Linux, Windows і OS/2, забезпечували різні реалізації цих функцій.
Члени-функції int kbhit(void)Визначає, чи було натискання клавіш клавіатуриint ungetch(int c)Поміщає символ c назад в буфер клавіатури.int getch(void)Зчитує символ безпосередньо з консолі, без використання буфера і echo-виводу.int getche(void)Зчитує символ безпосередньо з консолі, без використання буфера, але з використанням echo-виводу.int putch(int c)Функція _putch виводить символ c в консоль без буферизації. У разі успіху повертає c. В іншому випадку повертає EOF.char *_cgets(char *buffer)Зчитує рядок з консолі і зберігає його в масиві, що вказує на буфер. buffer має містити максимальну довжину (в символах) рядка, тобто скільки символів потрібно враховувати. Другий елемент масиву buffer вказує «де». _cgets зберігає поточну довжину рядка. _cgets зчитує символи до символу повернення, переведення рядка або зазначеного максимуму числа символів.int _cprintf(const char *format, arg0,... argn)Форматування і виведення (друк) рядка безпосередньо в консоль.int _cputs(const char *string)Виведення рядка безпосередньо в консоль.int _cscanf(char *format, arg0,... argn)Зчитування і форматування даних безпосередньо з консолі.
Див. також curses ncurses SMG$
Посилання Документація від Digital Mars IO FAQ — пояснення щодо нестандартного консольного введення-виведення Реалізація CONIO в стилі Borland для MinGW/Dev-C++ Інша реалізація CONIO в стилі Borland для MinGW/Visual Studio Перелік способів отримання введення неформатированої інформації з клавіатури Огляд бібліотеки conio.h