conio.h
conio.h (від англ. console input-output — консольне введення-виведення) — заголовковий файл, використовуваний у старих компіляторах, що працюють в операційних системах 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, а замість цього напряму звертається до відеопам'яті для виведення інформації та використання викликів переривань BIOS[en].
Компілятори, призначені для операційних систем, відмінних від 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[0] має містити максимальну довжину (в символах) рядка, тобто скільки символів потрібно враховувати. Другий елемент масиву buffer[1] вказує «де». _cgets зберігає поточну довжину рядка. _cgets зчитує символи до символу повернення, переведення рядка або зазначеного максимуму числа символів.
|
int _cprintf(const char *format, arg0,... argn)
|
Форматування і виведення (друк) рядка безпосередньо в консоль. |
int _cputs(const char *string)
|
Виведення рядка безпосередньо в консоль. |
int _cscanf(char *format, arg0,... argn)
|
Зчитування і форматування даних безпосередньо з консолі. |
- Документація від Digital Mars [Архівовано 22 квітня 2021 у Wayback Machine.]
- IO FAQ [Архівовано 26 січня 2021 у Wayback Machine.] — пояснення щодо нестандартного консольного введення-виведення
- Реалізація CONIO в стилі Borland для MinGW/Dev-C++ [Архівовано 3 лютого 2007 у Wayback Machine.]
- Інша реалізація CONIO в стилі Borland для MinGW/Visual Studio
- Перелік способів отримання введення неформатированої інформації з клавіатури [Архівовано 27 квітня 2007 у Wayback Machine.] (англ.)
- Огляд бібліотеки conio.h [Архівовано 8 лютого 2013 у Wayback Machine.] (англ.)