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

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

Войти
Регистрация
Восстановить пароль
 
AleksandrMild
0 / 0 / 0
Регистрация: 02.09.2015
Сообщений: 18
#1

Не корректно работает вывод из потока stringstream - C++

05.09.2015, 12:58. Просмотров 190. Ответов 4
Метки нет (Все метки)

Здравствуйте форумчане, не корректно работает ввод из потока. Не знаю в чем проблема.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
stringstream InStream;  //создаем поток
char Symb;
unsigned int NumN;
While(!СчитывемФайл.eof())
{
 InStream.str(ReadData);    //Ввод в поток типа String
 InStream >> Symb >> NumN;  //Вывод из потока символа и числа
 
cout << "\n In stream:" << InStream.str() << endl;    \\ Увидели что в потоке все правильно
 
 
                Resize=NumN+1;            
                Nvector.resize(Resize);    // Увеличили место для ввода нового числа
                Nvector[NumN]=NumN;   //Записали из потока наше число NumN
 
// Проверяем, что у нас записалось в вектор        
cout << "\nNvector["<< NumN<<"]= " <<Nvector[NumN]
                    <<setw(10)<< " Nvector["<< NumN-1 <<"]= " <<Nvector[NumN-1];
 
}
В вектор, почему то пишутся одни единицы, то есть из потока не вводится корректное число. Может я что-то не то делаю. Подскажите, кто знает. пожайлуста.
In stream:N 8
Nvector[1]=1 Nvector[0]=0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.09.2015, 12:58     Не корректно работает вывод из потока stringstream
Посмотрите здесь:

Проблемы с созданием потока stringstream - C++
Компилятор ругается на строку stringstream str Пишет: main.cpp:18:19: error: aggregate ‘std::ostringstream ss’ has incomplete type...

Сбрасывается форматирование std::stringstream при очистке потока - C++
Имеем объект класса std::stringstream используемый для форматированного вывода. Перед очередным выводом производится очистка потока. После...

Не корректно работает - C++
I need help. Не могу понять почему мой код при считывание с одного файла и записи в другой пропускает первый символ. Буду очень благодарен...

Работает не корректно - C++
Суть задачи в том что бы Написать программу, которая ждет ввода буквы русского алфавита и в зависимости от этого определяет гласная или...

Программа работает не корректно - C++
Здравствуйте, помогите мне пожалуйста разобраться с программой. Вот само задание: Дано натуральное число n. Найти все меньшие n числа...

Не корректно работает добавление - C++
Готовая курсовая сделанная на C free 5.0, не корректно работает добавление, а создание хорошо... Помогите исправить... Cllas.cpp главный...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
nmcf
5275 / 4595 / 1540
Регистрация: 14.04.2014
Сообщений: 18,249
05.09.2015, 13:11     Не корректно работает вывод из потока stringstream #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Откуда ReadData берётся?
InStream.Clear() добавь после 6-й строки.

Зачем вообще stringstream, если данные из файла идут, и что будет, если числа не в порядке возрастания?
AleksandrMild
0 / 0 / 0
Регистрация: 02.09.2015
Сообщений: 18
05.09.2015, 17:42  [ТС]     Не корректно работает вывод из потока stringstream #3
Цитата Сообщение от nmcf Посмотреть сообщение
InStream.Clear() добавь после 6-й строки
Добавил перед присвоением - все заработало!!! Ура!
Оказывается поток еще надо очищать. Я думал он сам очищается, когда идет вывод.
Это координаты идут, числа будут идти разные и в разной последовательности.
nmcf
5275 / 4595 / 1540
Регистрация: 14.04.2014
Сообщений: 18,249
05.09.2015, 17:54     Не корректно работает вывод из потока stringstream #4
Clear() - не очистка, а сброс флагов состояния.
Если числа разные, то resize() может и урезать вектор, соответственно данные потеряются. Хотя я не пойму, зчем он тут вообще.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.09.2015, 12:40     Не корректно работает вывод из потока stringstream
Еще ссылки по теме:

Не корректно работает программа в C++ - C++
Составьте алгоритм программы, которая принимает от пользователя значение x и в зависимости от его значения, расчитывет значение функии f(x)...

Не работает корректно цикл - C++
Не могу заставить цикл работать. Первый раз срабатывает, а потом условие просто сбивается. Хотя отображает правильно, но условие при...

Цикл do while работает не корректно - C++
Программа просто зацикливается и выводит бесконечно числа. А вот почему так, разобраться не могу. Вот пример: |a/i+b*i2+c если i&lt;4...

Не корректно работает условие While - C++
Напечатать значения функции y=ln(x+1/x),где значения x вводятся с клавиатуры. При вводе числа, не входящего в область определения функции,...

Не корректно работает программа с класами - C++
Привет Всем. У меня есть к Вам просьба. Я вот написал программу,но в ней редактирование и удаление данных из базы данных работает не...

корректно не работает функция rand - C++
в полном коде почему-то не работает корректно функция rand, вот пример: #include&lt;cstdlib&gt; #include&lt;ctime&gt; #include&lt;iostream&gt; ...


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

Или воспользуйтесь поиском по форуму:
AleksandrMild
0 / 0 / 0
Регистрация: 02.09.2015
Сообщений: 18
07.09.2015, 12:40  [ТС]     Не корректно работает вывод из потока stringstream #5
Цитата Сообщение от nmcf Посмотреть сообщение
Если числа разные, то resize() может и урезать вектор, соответственно данные потеряются. Хотя я не пойму, зчем он тут вообще.
Идея была в том, чтобы выводить из файла строку и при этом распознавать данные char и int раздельно.
Так как цикл постоянно повторялся при вводе новой строки из файла, его нужно было обнулять. Теперь все работает, данные переписываются. Спасбо.
Yandex
Объявления
07.09.2015, 12:40     Не корректно работает вывод из потока stringstream
Ответ Создать тему
Опции темы

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