С Новым годом! Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.73/1077: Рейтинг темы: голосов - 1077, средняя оценка - 4.73
Путешественница
1250 / 478 / 11
Регистрация: 22.02.2009
Сообщений: 2,842
1

Для чего нужен заголовочный файл conio.h ?

07.09.2009, 10:54. Показов 201533. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
<conio.h>. нам в институте говорили про такое. Я понимаю так,что если этот поток можно использовать без <iostream>. А то данный поток использовался почти в каждой задаче....)))
PS."простите дурочку,но я ещё только учусь"
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.09.2009, 10:54
Ответы с готовыми решениями:

Заголовочный файл conio.h
Я новичок в С++, так что у меня небольшой вопрос. Насколько я понимаю conio.h - заголовочный файл...

Для чего заголовочный файл <iomanip>?
#include &lt;iomanip&gt; для чего этот заголовочный файл? какие у него функции? и где можно прочитать про...

Для чего conio.h?
объясните для чего этот файл?и было бы лучше чтобы объяснили для чего и другие заг. файлы например...

Зачем нужен заголовочный файл stdafx.h
Не видит директорию &quot;stdafx.h&quot; в Code::Block, может кто знает как подключить? #include...

24
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
07.09.2009, 11:11 2
Цитата Сообщение от Системник Посмотреть сообщение
Я понимаю так,что если этот поток можно использовать без <iostrim>. А то данный поток использовался почти в каждой задаче....)))
<iostream>
не понял, что ты понимаешь?)

Цитата Сообщение от Системник Посмотреть сообщение
<conio.h>. нам в институте говорили про такое.
Это досовская библиотека. Я считаю, что ее лучше не использовать без надобности.
0
Эксперт JavaЭксперт С++
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
07.09.2009, 11:12 3
Лучший ответ Сообщение было отмечено как решение

Решение

<conio.h> - это такой майкрософтовский велосипед, который непонятно зачем вообще нужен и что с ним делать, но именно в нем валяется _getch();
4
Путешественница
1250 / 478 / 11
Регистрация: 22.02.2009
Сообщений: 2,842
07.09.2009, 11:17  [ТС] 4
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
<iostream>
не понял, что ты понимаешь?)
Вот именно это я и имела в виду. Просто под рукой Визуала пока нет,поэтому вспоминаю,ломая язык и клаву..... В каих случаях данный поток нужен,а в каких лучше побрезговать?
0
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
07.09.2009, 11:23 5
ну в случае если ты пишешь программу на C++. Как бы printf()/scanf() - это СИшные функции. А cout - это объект класса ostream_withassign. В ООП есть такое понятие как инкапсуляция, которая делает ООП-подход более безопасным. Учитывая, что классы не дураки писали - то думаю, cout более рекомендуется к использованию.
1
Путешественница
1250 / 478 / 11
Регистрация: 22.02.2009
Сообщений: 2,842
07.09.2009, 11:25  [ТС] 6
Цитата Сообщение от M128K145 Посмотреть сообщение
<conio.h> - это такой майкрософтовский велосипед, который непонятно зачем вообще нужен и что с ним делать, но именно в нем валяется _getch();
А насколько широк спектр применения данной getch(); функции?
0
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
07.09.2009, 11:32 7
Цитата Сообщение от Системник Посмотреть сообщение
А насколько широк спектр применения данной getch(); функции?
никсы без нее обходится. Зачастую, getch() использует как команду паузы (чтоб экран не тух после выполнения программы). Но если используется библиотека iostream, то паузу можно сделать и cin.get();
1
Путешественница
1250 / 478 / 11
Регистрация: 22.02.2009
Сообщений: 2,842
07.09.2009, 11:33  [ТС] 8
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
никсы без нее обходится. Зачастую, getch() использует как команду паузы (чтоб экран не тух после выполнения программы). Но если используется библиотека iostream, то паузу можно сделать и cin.get();
Никсы - это что вы имеете в виду?
0
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
07.09.2009, 11:38 9
Цитата Сообщение от Системник Посмотреть сообщение
Никсы - это что вы имеете в виду?
Unix/Linux/etc
1
Эксперт JavaЭксперт С++
8384 / 3617 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
07.09.2009, 11:38 10
операционные системы семейства UNIX
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,686
07.09.2009, 11:57 11
У меня conio.h самый куцый, насчитывает всего 14 прототипов функций. И всё! Я вот думаю, может, эти прототипы прописать в другом каком-нибудь по-настоящему полезном файле?

С другой стороный, conio.h это графика, насколько я понимаю
С третьей стороны, ничего у меня не рисуется почему-то что с conio.h, что без него

В общем, непонятный какой-то аппендицит. Тем страннее видеть его включение во многих исходникакх.
0
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
07.09.2009, 12:25 12
Цитата Сообщение от kravam Посмотреть сообщение
Я вот думаю, может, эти прототипы прописать в другом каком-нибудь по-настоящему полезном файле?
А смысл?

Цитата Сообщение от kravam Посмотреть сообщение
Тем страннее видеть его включение во многих исходникакх.
Включен, потому что 80% исходников использует функцию getch().
0
Эксперт С++
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
07.09.2009, 17:34 13
Включен, потому что 80% исходников использует функцию getch().
А как они используют ?
Ждут нажатия клавиши в конце ?
Настоящие программы так не пишут.
0
UNIX-way
712 / 495 / 49
Регистрация: 15.01.2009
Сообщений: 1,720
07.09.2009, 17:48 14
Цитата Сообщение от odip Посмотреть сообщение
А как они используют ?
Ждут нажатия клавиши в конце ?
Настоящие программы так не пишут.
Зато программы для университета или собственного обучения - очень даже пишут.
1
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
07.09.2009, 22:40 15
Цитата Сообщение от odip Посмотреть сообщение
Настоящие программы так не пишут.
Так пишут в книгах. Эту плохую привычку все и перенимают.
1
1 / 1 / 0
Регистрация: 24.09.2012
Сообщений: 33
14.10.2012, 17:26 16
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
Я считаю, что ее лучше не использовать без надобности.
что именно она может сделать если её изпользовать только для ,,неисчезания" окна..и почему иногда напишешь system('PAUSE'); а компилятор начинает ругаться???
0
Evg
Эксперт CАвтор FAQ
21281 / 8305 / 637
Регистрация: 30.03.2009
Сообщений: 22,660
Записей в блоге: 30
15.10.2012, 23:10 17
В языках Си и Си++ нет такого понятия как "экран", а есть только понятие "поток": Как выделить слово в printf?

Файл conio.h (CONsole Input-Output) - это интерфейсный файл для работы с конкретно DOS'овской консолью. Т.е. непереносимая надстройка над понятиями "поток"
1
Заблокирован
Автор FAQ
16.10.2012, 00:42 18
Цитата Сообщение от MotherBoard Посмотреть сообщение
А насколько широк спектр применения данной getch(); функции?
всё что пишем как printf scanf можно записать через cprintf/cscanf

MotherBoard, скомпильте как нибудь на досуге сей код
C
1
2
3
4
5
6
7
8
9
10
#include <conio.h>
 
int main()
{
    
    _cprintf("Enter string less than 32 chars : ");
    char str[32] = {0};_cscanf("%32s", str);
    _cprintf("Your input : %32s\n", str);
    return 0;
}
Кстати _cprintf очень интересная функция и заценить её можно лишь пописав приложений с консольным логом для диалогового окна

Добавлено через 2 минуты

Не по теме:

MotherBoard, а вообще conio.h это наследие старого доброго DOS-a и кроме MSVS присутсвует во всех без исключениях версиях BorlandC до 4-й включительно (дальше не проверял, т.к этот раритет стоит у меня лишь под DOS надобности, которые возникают очень редко)

0
5499 / 4894 / 831
Регистрация: 04.06.2011
Сообщений: 13,587
16.10.2012, 06:34 19
Отличительной особенностью geth() является то, что введённый символ не отображается на экране (чтение без эхо-отображения). Читает прямо с консоли, поэтому не ждёт нажатия Enter, для того, чтобы начать читать. В некоторых программах это используется, например для того, чтобы, вообще, не выводилось на экран то, что не нужно (ввод через geth(), потом проверка то ли ввели, что надо, и только после проверки введённое появляется на экране).
1
231 / 12 / 3
Регистрация: 28.12.2012
Сообщений: 192
10.03.2013, 01:25 20
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) Считывание и форматирование данных напрямую из консоли.
0
10.03.2013, 01:25
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.03.2013, 01:25
Помогаю со студенческими работами здесь

Какой заголовочный файл надо для функции ord() ?
Всем привет... Тут такая напасть случилась забыл заголовочный файл(include &lt;???&gt;) для функции ord =)

Предлагаю заголовочный файл с реализацией функций и классов, необходимых для решения задач по комбинаторике
kombinatorika.h Этот заголовочный файл подключается для работы с комбинаторикой. В нём...

Для чего нужен с++?
Я школьник, мне 16 лет, учусь в 10 классе, планирую поступить на факультет защиты информационных...

Для чего нужен символ \b?
для чего нужен символ \b??


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Как написать микросервис на Go/Golang с Kafka и GitHub CI/CD
InfoMaster 14.01.2025
Определение микросервиса, преимущества использования Go/ Golang Микросервис – это архитектурный подход к разработке программного обеспечения, при котором приложение состоит из небольших, независимо. . .
Как написать микросервис с нуля на C# с RabbitMQ, CQRS и CI/CD
InfoMaster 14.01.2025
В современном мире разработки программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот архитектурный подход предполагает. . .
Как создать интернет-магазин на PHP и JavaScript
InfoMaster 14.01.2025
В современном мире электронная коммерция стала неотъемлемой частью бизнеса. Создание собственного интернет-магазина открывает широкие возможности для предпринимателей, позволяя достичь большей. . .
Как написать Тетрис на Ассемблере
InfoMaster 14.01.2025
Тетрис – одна из самых узнаваемых и популярных компьютерных игр, созданная в 1984 году советским программистом Алексеем Пажитновым. За прошедшие десятилетия она завоевала симпатии миллионы людей по. . .
Как создать игру "Танчики" на Unity3d и C#
InfoMaster 14.01.2025
Разработка игр – это увлекательный процесс, сочетающий в себе творчество и технические навыки. В этой статье мы рассмотрим создание классической игры "Танчики" с использованием Unity3D и языка. . .
Организую платный онлайн микро-курс по доработке Android-клиента Telegram
_Ivana 14.01.2025
Официальная версия и распространенные форки не полностью устраивают? Сделай свою кастомную версию клиента! 4 занятия по 2 часа (2 недели пн, ср 19:00-21:00 по Москве). Первое вводное занятие. . .
Как создать приложение для фитнеса для iOS/iPhone на Kotlin
InfoMaster 14.01.2025
Создание собственного фитнес-приложения — это не только захватывающий, но и полезный процесс, ведь оно может стать вашим верным помощником на пути к здоровому и активному образу жизни. В современных. . .
Как создать приложение магазина для iOS/iPhone на Swift
InfoMaster 14.01.2025
Введение в разработку iOS-приложений Разработка приложений для iPhone и других устройств на базе iOS открывает огромные возможности для создания инновационных мобильных решений. В данной статье мы. . .
Это работает. Скорость асинхронной логики велика. Вопрос видимо останется в стабильности. Плата - огонь!
Hrethgir 13.01.2025
По прошлому проекту в Logisim Evolution https:/ / www. cyberforum. ru/ blogs/ 223907/ blog8781. html прилагаю файл архива проекта в Gowin Eda. Восьмибитный счётчик из сумматора+ генератор сигнала. . .
UserScript для подсветки кнопок языков программировани­­­­я в зависимости от текущего раздела
volvo 13.01.2025
В результате работы этого скрипта подсвечиваются нужные кнопки не только в форме быстрого ответа, но и при редактировании сообщения: / / ==UserScript== / / @name CF_DefaultLangSelect / / . . .
Введение в модели и алгоритмы машинного обучения
InfoMaster 12.01.2025
Машинное обучение представляет собой одну из наиболее динамично развивающихся областей искусственного интеллекта, которая фокусируется на разработке алгоритмов и методов, позволяющих компьютерам. . .
Как на Python создать нейросеть для решения задач
InfoMaster 12.01.2025
В контексте стремительного развития современных технологий особое внимание уделяется таким инструментам, как нейросети. Эти структуры, вдохновленные биологическими нейронными сетями, используются для. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru