![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Guest |
|
|||
|
Unregistered |
А какие анлоги у функции cin для ОС Windows и 32 разрядного компилятора (С++)?
|
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
std::cin ? (Кстати, это не функция, а глобальный объект типа std::istream).
Или нужно реализовать функциональность потоков средствами WinAPI? -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Да, в компилере .net и Win32 нужно принять ввод пользователя...
|
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Так .NET или Win32 Если обычный C++ - используйте std::cin (#include <iostream>) Если .NET (C#, managed С++) - System.Console.In к вашим услугам. Если по каким-то невероятным причинам вам нельзя использовать стандартную библиотеку - используйте WinAPI (GetStdHandle, ReadFile, etc). -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Visual C++ .net приложение для Windows - <iostream> почему-то не работает.
GetStdHandle ,я правильно понял? |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Весьма странно. Дайте пожалуйста полную ошибку компилятора/линкера. Потому что консольный I/O на уровне WinAPI - это ненужный геморрой. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Сannot open file iostream.h
хотя в папках он есть я проверял. почему-то ostream и cin больше ассоциируются с консольными программами дос... |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Нужно именно <iostream>, без расширения .h. iostream.h - это устаревший и нестандартный вариант.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
ОК так значит сin должен работать? (я думал он как и cout только для дос)
#include <iostream> |
|||
|
||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Обязательно. Потоки ввода-вывода (в т.ч. cin/cout/cerr) - это часть стандартной библиотеки C++, которая должна быть доступа везде.
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
спасибо, повоюю с компилером...
|
|||
|
||||
| Hroft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 20.10.2003 Где: Москва Репутация: нет Всего: 3 |
Вот это да... Какой еще ДОС? Где ты такое услышал? Это объекты классов, их реализацию можно и в ДОСе, и в Виндовсе, и в Линуксе, и ВООБЩЕ ВЕЗДЕ, для чего написаны компиляторы C++, использовать! Функции ДОС - это 21h прерывание, а не cout или cin. |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Он имел в виду консоль, наверное. Я тож сначала ее ДОС'ом называл.
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
ага точно консоль чёрное окно кстати работает то оно всё равно под дос...
а с cin у меня всё же трабл: #include <iostream> using namespace std; ... char myinput; cin >> myinput; --------------------------------------------------------------- error cin undeclarated indefined '>>' |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
Предположу, что проблема в том, что прога не знает, откуда считывать. Но это, наверное, неправильное предположение...
А вообще, чего вы мучаетесь? Сделайте вот так:
Нафига все эти мучения с iostream? Просто подрубайте iostream.h и будьте счастливы. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
на iostream.h мой VS.net ругается.
не ругается если приложение консольное, а у меня, повторюсь, Win32 |
|||
|
||||
| Void |
|
||||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Какое забавное сообщение об ошибке... Что-то у вас неладное с компилятором творится Дайте полный код и точное сообщение об ошибке.
Там чуть-чуть выше сказано, что компилятор не может найти такой файл. -------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
||||
|
|||||
| Void |
|
|||
![]() λcat.lolcat ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2206 Регистрация: 16.11.2004 Где: Zürich Репутация: 40 Всего: 173 |
Черт! Прошу прощения за невнимательность
-------------------- “Coming back to where you started is not the same as never leaving.” — Terry Pratchett |
|||
|
||||
| mr.Anderson |
|
|||
![]() iOS Lead Developer ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3374 Регистрация: 20.12.2004 Где: далеко Репутация: нет Всего: 128 |
То консольное, то не консольное. Я запутался!
Действительно, стоит привести код. |
|||
|
||||
| Guest |
|
|||
|
Unregistered |
да да Win32 & windows.h
cin<<myinput; // проходит //просто я сначала пробовал cin.get(myinput);//этот не проходит но ввод так или иначе не работает поэтому я спрашивал про аналоги... |
|||
|
||||
| Helicopterr |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 20.8.2005 Где: Stavropol Репутация: 2 Всего: 3 |
TranslateMessage();
и обрабатывать ввод в метке WM_CHAR только параметры я не помню... -------------------- people can fly |
|||
|
||||
| Helicopterr |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 20.8.2005 Где: Stavropol Репутация: 2 Всего: 3 |
"Существуют также объекты ввода-вывода для работы с текстом - cin, cout, cerr, clog, но они не совместимы с графическим интерфейсом сиситемы Windows." Крис Паппас, Уильям Мюррей "Visual C++ .NET" (bhv Питер 2002) Да и вообще это консольные операторы. -------------------- people can fly |
|||
|
||||
| Hroft |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 20.10.2003 Где: Москва Репутация: нет Всего: 3 |
Helicopterr
Все абсолютно верно! Но... В принципе это возможно. Например, часть рабочего стола под консоль выделить. Или просто где-то в своей программе выводить. Кроме того, разве в моем посте есть упоминание графического интерфейса? Я о нем и не говорил, хотя, повторюсь, это возможно. И не надо называть объекты операторами. ЗЫ: А что, прям в книжке написано "не совместимы"? |
|||
|
||||
| Helicopterr |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 355 Регистрация: 20.8.2005 Где: Stavropol Репутация: 2 Всего: 3 |
да я всё подробно указал и ничего не придумал. а ты не мог бы привести код в котором cin работает в программе для винды? -------------------- people can fly |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |