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

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

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

Author24 — интернет-сервис помощи студентам
<conio.h>. нам в институте говорили про такое. Я понимаю так,что если этот поток можно использовать без <iostream>. А то данный поток использовался почти в каждой задаче....)))
PS."простите дурочку,но я ещё только учусь"
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
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 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
07.09.2009, 11:11 2
Цитата Сообщение от Системник Посмотреть сообщение
Я понимаю так,что если этот поток можно использовать без <iostrim>. А то данный поток использовался почти в каждой задаче....)))
<iostream>
не понял, что ты понимаешь?)

Цитата Сообщение от Системник Посмотреть сообщение
<conio.h>. нам в институте говорили про такое.
Это досовская библиотека. Я считаю, что ее лучше не использовать без надобности.
0
Эксперт JavaЭксперт С++
8384 / 3616 / 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 / 1407 / 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 / 1407 / 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 / 1407 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
07.09.2009, 11:38 9
Цитата Сообщение от Системник Посмотреть сообщение
Никсы - это что вы имеете в виду?
Unix/Linux/etc
1
Эксперт JavaЭксперт С++
8384 / 3616 / 419
Регистрация: 03.07.2009
Сообщений: 10,709
07.09.2009, 11:38 10
операционные системы семейства UNIX
0
быдлокодер
1724 / 911 / 106
Регистрация: 04.06.2008
Сообщений: 5,679
07.09.2009, 11:57 11
У меня conio.h самый куцый, насчитывает всего 14 прототипов функций. И всё! Я вот думаю, может, эти прототипы прописать в другом каком-нибудь по-настоящему полезном файле?

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

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

Цитата Сообщение от kravam Посмотреть сообщение
Тем страннее видеть его включение во многих исходникакх.
Включен, потому что 80% исходников использует функцию getch().
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 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 / 1407 / 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
21279 / 8301 / 637
Регистрация: 30.03.2009
Сообщений: 22,659
Записей в блоге: 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
5498 / 4893 / 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.03.2013, 01:25
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru