Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
#pragma
Временно недоступен
952 / 223 / 6
Регистрация: 12.04.2009
Сообщений: 921
#1

Как отправить строку обратно в поток ввода, кроме putback? - C++

03.06.2009, 22:52. Просмотров 877. Ответов 0
Метки нет (Все метки)

Необходимо отправить в поток ввода строку,как бы это сделать,не пользуясь циклом с cin.putback()?Наверное можно через итератор,хочется с помощью итератора(я ещё не разжевал тему,но итераторы очень по вкусу =)) .Вот в этом коде нужно сделать отправку строки в поток ввода,и потом "положить" "это" в переменную.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void map_filler_iterator(std::map<std::string,float>&m)
{
    std::istream_iterator<std::string>input_iterator(std::cin);
    std::string str;
    while (*++input_iterator!="end")
    {
        str=*input_iterator;
        if (str_letr_chk(str.substr(0,str.find_first_of(' ')))&&str_digt_chk(str.substr(str.find_first_of(' ')+1,str.size())))
        {
           m[str.substr(0,str.find_first_of(' '))];
           /* вот тут я хочу отправить  str.substr(str.find_first_of(' ')+1,str.size())
              в поток ввода и инициализировать сим переменную в map.*/
        }
        else std::cout<<"Input error!Please enter a valid word and number.";
    }
}
В стандартной библиотеке нашёл только putback,но цикл делать неохота.
P.S.Замечания по качеству кода,если будут,выслушаю с вниманием.

Добавлено через 18 минут 37 секунд
Тут мне не ответили Непонятный выход за пределы подстроки я так и не понял смысл ошибки,поэтому пока оставил первый вариант создания ключей.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.06.2009, 22:52     Как отправить строку обратно в поток ввода, кроме putback?
Посмотрите здесь:
Как работает метод get и putback (Подсчитать количество символов ввода вплоть до значения '$') C++
C++ Как очистить поток ввода?
C++ Как читает поток ввода cin ?
Как можно сделать виртуальный поток ввода / вывода? C++
C++ Как прервать поток ввода, введя определенный символ?
C++ Как преобразовать время в строку и обратно
Как перевести строку в hex и обратно? C++
Подскажите, как преобразовать строку с IP адресом в число и обратно C++
C++ Как сделать отступы или , чтобы входной поток(ввода) отдельно от вывода
C++ Как строку отправить на принтер
Как поток вставить в строку? C++
C++ Как отправить команду в CMD строку?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru