Conio h c что это
Перейти к содержимому

Conio h c что это

Зачем использовать conio.h?

Я часто вижу, как люди используют заголовочный файл conio.h в C и C ++, хотя я не вижу каких-либо существенных преимуществ в использовании функций внутри conio.h по сравнению со стандартными библиотечными функциями. Кроме того, conio.h имеет недостатки в зависимости от среды Windows / MS-DOS и не является частью стандарта C.

  • В чем причина выбора функций conio.h ?
  • Что обеспечивают функции внутри conio.h , чего не могут функции стандартных библиотек C?
  • Зачем выбирать библиотеку conio ?

2 ответа

Заголовок conio.h специфичен для Turbo C, который предшествует раннему стандарту C на несколько лет. Он содержит подпрограммы, специфичные для командной строки DOS. Здесь часто используется одна функция getch , которая позволяет читать по одному символу за раз, не нажимая клавишу Enter. Он также содержит gotoxy , который позволяет поместить курсор в определенное место в терминале

Вообще говоря, способы взаимодействия с терминалом, подобные этому, очень специфичны для ОС, поэтому у каждого есть свой (обычно непереносимый) способ сделать это.

Это отличается от функций в stdio.h, которые содержат такие функции, как printf , scanf и getchar , которые работают независимо от того, какой тип консоли используется.

В чем причина выбора функций conio.h?

У нее есть функции, которые не предоставляются стандартной библиотекой, и люди, которые ее выбирают, не заботятся о переносе на другие системы.

Что обеспечивают функции внутри conio.h, чего не могут функции стандартных библиотек C?

Это некоторые функции, которые не имеют стандартной альтернативы. Там могут быть другие:

Стандартная библиотека потенциально может предоставлять функции. Но это не так.

Почему стоит выбрать библиотеку conio?

Потому что вас научили его использовать, и вы не заботитесь о портировании на другие системы.

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.

Компиляторы, предназначенные для операционных систем отличных от 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) Считывание и форматирование данных напрямую из консоли.

Смотри также

Ссылки

Wikimedia Foundation . 2010 .

Полезное

Смотреть что такое «Conio.h» в других словарях:

conio.h — Conio redirects here. For the profanity, see wikt:coño. conio.h is a C header file used in old MS DOS compilers to create text user interfaces. It is not described in The C Programming Language book, and it is not part of the C standard library,… … Wikipedia

Conio.h — is a header file used in old MS DOS compilers to create text user interfaces, however, it is not part of the C programming language, the C standard library, ISO C or required by POSIX.This header declares several useful library functions for… … Wikipedia

conio.h — (от англ. console input output  консольный ввод вывод)  заголовочный файл, используемый в старых компиляторах, работающих в операционных системах MS DOS, для создания текстового интерфейса пользователя. Тем не менее, он не является … Википедия

conio — Element prim de compunere savantă cu semnificaţia praf , în legătură cu praful , de (la) praf . [pron. ni o , var. coni . / < fr. conio , cf. gr. konis – praf]. Trimis de LauraGellner, 18.01.2005. Sursa: DN … Dicționar Român

Conio. — Conio. (v. gr. Konia, Staub), Staub … Pierer’s Universal-Lexikon

conio — / kɔnjo/ s.m. [lat. cŭneus ]. 1. a. [utensile per stampare monete o medaglie] ▶◀ punzone. ⇑ stampo. b. [operazione ed effetto del coniare, anche fig.] ▶◀ battitura, coniatura, coniazione. 2. (fig., spreg.) … Enciclopedia Italiana

conio — 1cò·nio s.m. CO 1a. stampo in acciaio a forma di punzone su cui vengono incisi disegni, figure o iscrizioni che si vogliono imprimere in rilievo su monete o medaglie; l impronta che ne risulta: riconoscere una moneta dal conio 1b. l operazione… … Dizionario italiano

conio — s. m. 1. punzone, torsello 2. (est.) impronta, stampo 3. cuneo, zeppa 4. coniazione, coniatura FRASEOLOGIA fior di conio, moneta che non ha mai circolato □ nu … Sinonimi e Contrari. Terza edizione

conio — <><><>s. m. 1 Operazione del coniare. 2 Pezzo di acciaio su cui è inciso il tipo che si vuole riprodurre sulla moneta o medaglia | Impronta fatta col conio | Fior di –c, di moneta che non ha mai circolato | Nuovo di –c, nuovissimo … Enciclopedia di italiano

Заголовочный файл conio.h

Что за заголовочный файл такой <conio.h>, и для чего он нужен? В K&R такой не описывают. Заранее спасибо.

<conio.h> содержит описание нестандартной библиотеки для работы с консолью ( clrscr , kbhit и тому подобное). Поставляется, ЕМНИП, со старыми Борландовскими компиляторами. Не пользуйтесь ей, если хотите, чтобы ваш код компилировался на более современных компиляторах.

Заметьте, что непосредственная работа с консолью противоречит философии юниксовских утилит, которые должны одинаково хорошо работать как с входными данными, полученными от пользователя, так и с выводом других программ. Поэтому правильная юниксовская утилита должна читать ввод из stdin и выводить его в stdout/stderr, позволяя эффективно использовать перенаправление потоков ввода-вывода.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *