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

Ещё раз про поток stringstream! - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Как читать программу на С++? http://www.cyberforum.ru/cpp-beginners/thread765231.html
Приветствую вас, дорогие форумчане! У меня вот такой вопрос: Как легко читать программу? т.е. как перевести из исходного кода в русский язык... Например есть код С++: #include <iostream> #include <cstdlib> using namespace std; int main() { int a,b;
C++ Написать программу вычисления значения функции, заданной в виде ряда, с погрешностью e > 0 Написать программу вычисления значения функции, заданной в виде ряда, с погрешностью e > 0, т.е. чтобы для заданной погрешности e вы- полнялось соотношение - .e -1 ( ) ( )n n f x f x . Определить количество членов ряда, сравнить полученное значение суммы со значением функции, полученным c помощью стандартных методов класса Math языка С#: Acos(x) – Арккосинус (arccos x) Cos(x) – Косинус (cos... http://www.cyberforum.ru/cpp-beginners/thread765226.html
Определить Сумму элементов, расположенных ниже побочной диагонали. Упорядочить элементы первой строки C++
Помогите написать программу, пожалуйста Дана вещественная квадратная матрица. Определить: •Сумму элементов, расположенных ниже побочной диагонали. •Упорядочить элементы первой строки по возрастанию дробной части методом вставки.
Найти сумму минимального и максимального элементов этого файла C++
Подружка попросила помочь ))Заполнить файл последовательного доступа N действительными числами введёны с клавиатуры Найти сумму минимального и максимального элементов этого файла.
C++ Найти сумму минимального и максимального элементов файла http://www.cyberforum.ru/cpp-beginners/thread765219.html
Заполнить файл последовательного доступа N действительными числами введёны с клавиатуры Найти сумму минимального и максимального элементов этого файла. Я нуждаюсь в вашей помощи...
C++ Мишень, описание области Помогите описать выделенную область.. Как определить, что точка попала в закрашенную область?.. Дана «мишень» в виде закрашенной области, изображенной на рисунке. Создать алгоритм для определения количества набранных очков в десяти случайных выстрелах при условии, что за попадание точки с координатами (x, y) в мишень начисляется 10 очков. подробнее

Показать сообщение отдельно
IPavel
9 / 9 / 0
Регистрация: 14.01.2013
Сообщений: 102

Ещё раз про поток stringstream! - C++

18.01.2013, 10:13. Просмотров 7231. Ответов 10
Метки (Все метки)

Всем привет!
Вобщем понадобился мне этот поток...
Поискал я как его очищать... Нашёл несколько способов...
Собственно метод str("") и метод clear().
Первый как я понял зачищает строку нулевым значением, а второй сбрасывает флаги у потока.
И вот что у меня получилось.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <sstream>
 
using namespace std;
 
int main()
{
 string st;
  stringstream ss;
   cout << "Передаём потоку слово." << endl;
    ss << "слово";
     cout << "смотрим что в потоке: " << ss.str() << endl;
      ss >> st;
       cout << "смотрим что в строке: " << st << endl;
        ss.clear();
         cout << "Очистили поток clear и смотрим: " << ss.str() << endl;
          ss << "мечта";
           cout << "смотрим что теперь в потоке: " << ss.str() << endl;
            ss >> st;
             cout << "смотрим что в строке: " << st << endl;
 ss.clear();
  cout << "очистили ещё раз: " << ss.str() << endl;
             ss << "счастье";
  cout << "пробуем ещё раз, смотрим: " << ss.str() << endl;
   ss >> st;
    cout << "смотрим ещё раз на строку: " << st << endl;
             ss.str("");
               cout << "очистили поток str и смотрим: " << ss.str() << endl;
                ss << "любовь";
                 cout << "смотрим что в потоке: " << ss.str() << endl;
                  ss >> st;
                   cout << "смотрим что в строке: " << st << endl;
                    return 0;
                     }
Компилим и запускаем.
ipavel@raspberrypi:~/cpp_progs$ ./test
Передаём потоку слово.
смотрим что в потоке: слово
смотрим что в строке: слово
Очистили поток clear и смотрим: слово
смотрим что теперь в потоке: словомечта
смотрим что в строке: мечта
очистили ещё раз: словомечта
пробуем ещё раз, смотрим: словомечтасчастье
смотрим ещё раз на строку: счастье
очистили поток str и смотрим:
смотрим что в потоке:
смотрим что в строке: счастье
ipavel@raspberrypi:~/cpp_progs$
Вобщем при clear(), в потоке так и остаются данные, хотя в переменную он пишит правильно.
Т.е. только то что было передано ему в последний раз.
При методе же str(""), поток очищается НО после такой очистки в него ничего не запишешь...
Отсюда вопрос.
Так всётаки как правильно его пользовать???
Кто в курсе разъясните плз!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru