Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 102, средняя оценка - 4.63
Batarchuk
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 28
#1

Описание istringstream - C++

09.05.2011, 18:52. Просмотров 17719. Ответов 15
Метки нет (Все метки)

Есть программа :
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
    
#include <iostream>
#include <sstream>
using namespace std;
 int main()
{      
 while(int a =1)
       {
        setlocale(LC_ALL,"Rus");
        char sentence[256];
        string word;
        int i;
         cout<<"Введите текст:\n";
        cin.getline(sentence,256);
        string row(sentence);
         for(i=0;i<row.length();i++)
                if(row[i]=='.' || row[i]==',' || row[i]=='?' || row[i]=='!')
                        row[i]=' ';
        i=0;
        istringstream ist(row);
        while(ist>>word)
                i++;
         cout<<" Слов найдено : "<<i<< endl<<endl;
        }
        cin.get();
        return 0;
}
Кто знает, или может подсказать как работает istringstream из #include <sstream> ? что это: функция, класс, или что-то другое ? И что именно происходит в строках
C++
1
2
 istringstream ist(row);
        while(ist>>word)
Я понимаю, что это проверка "слово это или не слово" , но как именно это работает?
Заранее благодарен.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.05.2011, 18:52
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Описание istringstream (C++):

Описание функции istringstream - C++
Добрый день, есть такая конструкция istringstream ist(target); while(ist&gt;&gt;cur) { word=cur;Фрагмент взят из проги по замене одного...

Istringstream, istream_iterator - C++
std::string string1 std::cout &lt;&lt; &quot;Введите первую неубывающую последовательность натуральных чисел: &quot;; getline(std::cin, string1); ...

Ostringstream и istringstream - C++
int StrToInt(string buf) { istringstream stream(buf); int decimal; stream&gt;&gt;hex&gt;&gt;decimal; ...

Getline and istringstream - C++
int main() { cout &lt;&lt; &quot;Vvodim stroku: &quot;; string str,str2; getline(cin, str); cout &lt;&lt; &quot;Vvedite sochetanie bukv:...

Чем заменить istringstream? - C++
Задание:Найти в списке из 7 слов все слова, состоящие из заданного количества букв. #include &lt;iostream.h&gt; #include &lt;sstream.h&gt; ...

Что такое istringstream? - C++
#include &lt;iostream&gt; #include &lt;string&gt; #include &lt;sstream&gt; #include &lt;algorithm&gt; using namespace std; int main() { string...

15
asics
Freelance
Эксперт С++
2853 / 1788 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
09.05.2011, 18:59 #2
C++
1
2
istringstream ist(row);//Превращаем строку в поток
  while(ist>>word)//Читаем из потока данные, при помощи оператора >> , разделителем служить пробел
0
Batarchuk
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 28
09.05.2011, 19:00  [ТС] #3
istringstream что это? Есть подробное описание?
0
asics
Freelance
Эксперт С++
2853 / 1788 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
09.05.2011, 19:02 #4
Цитата Сообщение от Batarchuk Посмотреть сообщение
istringstream что это?
Класс.

Добавлено через 1 минуту
Читай тут
2
Batarchuk
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 28
09.05.2011, 19:11  [ТС] #5
C++
1
2
istringstream ist(row);
        while(ist>>word)
А откуда у нас появляется "word"?

П.С. Как я понял из описания выше istringstream это класс элементов , row параметр, клас istringstream превращает row в поток ist ит проверяет есть ли это член класса? Или не так?
0
asics
Freelance
Эксперт С++
2853 / 1788 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
09.05.2011, 19:13 #6
Цитата Сообщение от Batarchuk Посмотреть сообщение
А откуда у нас появляется "word"?
C++
1
std::string word;
0
Batarchuk
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 28
09.05.2011, 19:15  [ТС] #7
istringstream это класс элементов , row параметр, клас istringstream превращает row в поток ist ит проверяет есть ли это член класса? Правильно понял?
Про istringstream мало информации.
0
panicwassano
592 / 560 / 20
Регистрация: 07.11.2010
Сообщений: 2,004
09.05.2011, 19:18 #8
Цитата Сообщение от Batarchuk Посмотреть сообщение
istringstream это класс элементов , row параметр, клас istringstream превращает row в поток ist ит проверяет есть ли это член класса? Правильно понял?
П.С. Преподаватель сказала детально описать, что это такое и как работает
учебник для начала откройте
0
asics
Freelance
Эксперт С++
2853 / 1788 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
09.05.2011, 19:20 #9
Batarchuk, Я же вам дал ссылку, какие еще вопросы ?
0
Batarchuk
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 28
09.05.2011, 19:22  [ТС] #10
Я смотрел, спасибо, просто с английским плохо дружу, а переводчик не корректно переводит.
0
Batarchuk
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 28
09.05.2011, 19:22  [ТС] #11
Цитата Сообщение от panicwassano Посмотреть сообщение
учебник для начала откройте
Если бы ещё там было то, что надо))
0
asics
Freelance
Эксперт С++
2853 / 1788 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
09.05.2011, 19:25 #12
5 сек гугла:
istringstream - это строковой поток ввода. Конструктор istringstream() со строковым аргументом прикрепляет создаваемый объект потока к указанной строке. То есть теперь информация будет считываться из стандартной строки точно таким же образом, как и из cin, объекта класса потока ввода istream.
cin считывает не из потока (он сам является потоком), а откуда-то из стандартного приемника (из консоли)
1
Batarchuk
0 / 0 / 0
Регистрация: 27.03.2011
Сообщений: 28
09.05.2011, 19:28  [ТС] #13
Цитата Сообщение от asics Посмотреть сообщение
5 сек гугла:
Спасибо, это оно!
Не знаю почему не получалось найти, благодарю!
0
asics
Freelance
Эксперт С++
2853 / 1788 / 144
Регистрация: 09.09.2010
Сообщений: 3,841
09.05.2011, 20:38 #14
 Комментарий модератора 
И в то же время "Запрещено накручивать репутацию любым способом, включая создание пользователей-клонов, а также склонять (агитировать) других пользователей к ее повышению.", 3.9


Добавлено через 1 час 6 минут

Не по теме:

А я разве кого-то "склонял" ? Я процитировал правила форума, разве это запрещено ?

0
silent_1991
09.05.2011, 21:01     Описание istringstream
  #15

Не по теме:

asics, в таком контексте да, это звучит как последняя часть пункта, то бишь "Запрещено ... склонять (агитировать) других пользователей к ее повышению".

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2011, 21:01
Привет! Вот еще темы с ответами:

Не могу справиться с функцией с++ istringstream - C++
В общем, изначальный код был таков: #include &quot;stdafx.h&quot; #include&lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;sstream&gt; #include...

Чем отличается istringstream от stringstream? - C++
можете объяснить работу каждого оператора?

istringstream ist, #include <sstream>, оператор >> - C++
1. #include &lt;sstream&gt; - это ввод и вывод строк, так? 2. что выполняет команда istringstream ist и оператор &gt;&gt; на примере данного кода: ...

Как с помощью istringstream разобрать строку на переменные - C++
у нас есть клас CDateTime, внутри private: string date; и куча прототипов для перегрузки операторов +, -, =, итд. ещё есть...


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

Или воспользуйтесь поиском по форуму:
15
09.05.2011, 21:01
Ответ Создать тему
Опции темы

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