Зачем использовать conio.h? - PullRequest
2 голосов
/ 19 января 2020

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

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

Ответы [ 2 ]

13 голосов
/ 19 января 2020

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

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

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

2 голосов
/ 19 января 2020

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

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

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

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

kbhit
clrscr
getch
getche

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

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

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

...