![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Vladus |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 1.2.2008 Репутация: нет Всего: 4 |
Доброго времени!
Нужно записать данные из строки во входной поток cin. Получилось проделать похожую операцию - из файла в cin:
А вот из строки не получаеться. Пробую сделать так:
на что получаю: C:\Program Files\prog\C_C++\sys-pr\analizator\main.cpp(107) : error C2665: 'ostream_iterator<int,char,struct std::char_traits<char> >::ostream_iterator<int,char,struct std::char_traits<char> >' : none of the 2 overloads can convert parameter 1 from type 'class istream_withassign' Error executing cl.exe. Вообщем нужна ваша помощ. Заранее благодарен |
||||
|
|||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
||||
|
||||
| Vladus |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 1.2.2008 Репутация: нет Всего: 4 |
>во входной поток нет смысла записывать
>еслди хош вывести на экран, то пиши в выходной поток Alek86, в том то все и дело,что мне нужно не на экран вывести. Если кратко, то у меня есть синтаксический анализатор, который читает из cin. А теперь мне надо, шоб читал из строки. Вообщем как то не особо хочеться его переписывать, потому и хочу направить строку в cin |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
||||
|
||||
| W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 20 Всего: 121 |
Для этого существует полиморфизм. Любой стандартный поток ввода в С++ является наследником std::basic_istream<>. Для простых ASCII строк есть специализированный шаблон std::istream.
Это сообщение отредактировал(а) W4FhLF - 14.9.2008, 13:44 -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
возможно, тебе нужно как-то подменить буфер
у cin есть функция rdbuf, в которую можно подставить свой буфер. а буфер уже менять как хочешь хотя, если этим обойтись и возможно, то, думаю, очень опасно Добавлено через 8 минут и 39 секунд да, похоже подмена буфера это плюсовой аналог freopen + он еще расширен (не только файл можно подсунуть) |
|||
|
||||
| Vladus |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 108 Регистрация: 1.2.2008 Репутация: нет Всего: 4 |
Alek86, W4FhLF, vinter
Спасибо, остановился на варианте vinterа. Топик можно закрывать. Спасибо |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |