| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > cin для Win |
| Автор: Guest 18.8.2005, 21:47 |
| А какие анлоги у функции cin для ОС Windows и 32 разрядного компилятора (С++)? |
| Автор: Void 18.8.2005, 21:53 |
| std::cin ? (Кстати, это не функция, а глобальный объект типа std::istream). Или нужно реализовать функциональность потоков средствами WinAPI? |
| Автор: Guest 18.8.2005, 22:08 |
| Да, в компилере .net и Win32 нужно принять ввод пользователя... |
| Автор: Void 18.8.2005, 22:14 | ||
Так .NET или Win32 Если обычный C++ - используйте std::cin (#include <iostream>) Если .NET (C#, managed С++) - System.Console.In к вашим услугам. Если по каким-то невероятным причинам вам нельзя использовать стандартную библиотеку - используйте WinAPI (GetStdHandle, ReadFile, etc). |
| Автор: Guest 18.8.2005, 22:22 |
| Visual C++ .net приложение для Windows - <iostream> почему-то не работает. GetStdHandle ,я правильно понял? |
| Автор: Void 18.8.2005, 22:35 | ||
Весьма странно. Дайте пожалуйста полную ошибку компилятора/линкера. Потому что консольный I/O на уровне WinAPI - это ненужный геморрой. |
| Автор: Guest 18.8.2005, 22:50 |
| Сannot open file iostream.h хотя в папках он есть я проверял. почему-то ostream и cin больше ассоциируются с консольными программами дос... |
| Автор: Void 18.8.2005, 22:51 |
| Нужно именно <iostream>, без расширения .h. iostream.h - это устаревший и нестандартный вариант. |
| Автор: Guest 18.8.2005, 22:55 |
| ОК так значит сin должен работать? (я думал он как и cout только для дос) #include <iostream> |
| Автор: Void 18.8.2005, 22:57 |
| Обязательно. Потоки ввода-вывода (в т.ч. cin/cout/cerr) - это часть стандартной библиотеки C++, которая должна быть доступа везде. |
| Автор: Guest 18.8.2005, 23:01 |
| спасибо, повоюю с компилером... |
| Автор: Hroft 19.8.2005, 11:35 | ||
Вот это да... Какой еще ДОС? Где ты такое услышал? Это объекты классов, их реализацию можно и в ДОСе, и в Виндовсе, и в Линуксе, и ВООБЩЕ ВЕЗДЕ, для чего написаны компиляторы C++, использовать! Функции ДОС - это 21h прерывание, а не cout или cin. |
| Автор: mr.Anderson 19.8.2005, 16:07 |
| Он имел в виду консоль, наверное. Я тож сначала ее ДОС'ом называл. |
| Автор: Guest 19.8.2005, 21:41 |
| ага точно консоль чёрное окно кстати работает то оно всё равно под дос... а с cin у меня всё же трабл: #include <iostream> using namespace std; ... char myinput; cin >> myinput; --------------------------------------------------------------- error cin undeclarated indefined '>>' |
| Автор: mr.Anderson 19.8.2005, 21:56 | ||
| Предположу, что проблема в том, что прога не знает, откуда считывать. Но это, наверное, неправильное предположение... А вообще, чего вы мучаетесь? Сделайте вот так:
Нафига все эти мучения с iostream? Просто подрубайте iostream.h и будьте счастливы. |
| Автор: Guest 19.8.2005, 22:00 |
| на iostream.h мой VS.net ругается. не ругается если приложение консольное, а у меня, повторюсь, Win32 |
| Автор: Void 19.8.2005, 22:02 | ||||
Какое забавное сообщение об ошибке... Что-то у вас неладное с компилятором творится Дайте полный код и точное сообщение об ошибке.
Там чуть-чуть выше сказано, что компилятор не может найти такой файл. |
| Автор: Void 19.8.2005, 22:37 |
| Черт! Прошу прощения за невнимательность |
| Автор: mr.Anderson 20.8.2005, 11:08 |
| То консольное, то не консольное. Я запутался! Действительно, стоит привести код. |
| Автор: Guest 20.8.2005, 21:33 |
| да да Win32 & windows.h cin<<myinput; // проходит //просто я сначала пробовал cin.get(myinput);//этот не проходит но ввод так или иначе не работает поэтому я спрашивал про аналоги... |
| Автор: Helicopterr 20.8.2005, 21:58 |
| TranslateMessage(); и обрабатывать ввод в метке WM_CHAR только параметры я не помню... |
| Автор: Helicopterr 23.8.2005, 22:10 | ||
"Существуют также объекты ввода-вывода для работы с текстом - cin, cout, cerr, clog, но они не совместимы с графическим интерфейсом сиситемы Windows." Крис Паппас, Уильям Мюррей "Visual C++ .NET" (bhv Питер 2002) Да и вообще это консольные операторы. |
| Автор: Hroft 24.8.2005, 10:55 |
| Helicopterr Все абсолютно верно! Но... В принципе это возможно. Например, часть рабочего стола под консоль выделить. Или просто где-то в своей программе выводить. Кроме того, разве в моем посте есть упоминание графического интерфейса? Я о нем и не говорил, хотя, повторюсь, это возможно. И не надо называть объекты операторами. ЗЫ: А что, прям в книжке написано "не совместимы"? |
| Автор: Helicopterr 25.8.2005, 23:24 | ||
да я всё подробно указал и ничего не придумал. а ты не мог бы привести код в котором cin работает в программе для винды? |