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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 15, средняя оценка - 4.73
Hi4ko
74 / 74 / 4
Регистрация: 21.10.2010
Сообщений: 376
#1

istringstream ist, #include <sstream>, оператор >> - C++

21.11.2010, 00:19. Просмотров 1987. Ответов 2
Метки нет (Все метки)

1. #include <sstream> - это ввод и вывод строк, так?
2. что выполняет команда istringstream ist и оператор >> на примере данного кода:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <iostream>
#include <cstring>
#include <sstream>
 
using namespace std;
int main()
{
char str[256];
cin.getline(str, 256);
int l=strlen(str),i,n=0;
istringstream ist(str);
char temp[256];
while(ist>>temp)
   n++;
cout<<n<<endl;
}
?
3.И как тут получилось, что эта программа смогла посчитать кол-во слов?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2010, 00:19     istringstream ist, #include <sstream>, оператор >>
Посмотрите здесь:
для чего подключается #include <sstream>? C++
C++ НЕ понимаю библиотеку <sstream>
C++ Переменные типа sstream
C++ Перевести int в string с помощью sstream
Istringstream, istream_iterator C++
C++ Описание istringstream
C++ Getline and istringstream
Ostringstream и istringstream C++
C++ Чем заменить istringstream?
C++ Что такое istringstream?
C++ Описание функции istringstream
C++ Чем отличается istringstream от stringstream?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
accept
4821 / 3241 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
21.11.2010, 01:27     istringstream ist, #include <sstream>, оператор >> #2
1. для istringstream
2. превращает строку в поток, из которого можно читать, как из любого потока

l=strlen(str) - эта часть не используется, можно убрать

3. пока слова читаются из потока, наращивать n
RV_P
0 / 0 / 0
Регистрация: 09.06.2017
Сообщений: 11
09.06.2017, 11:58     istringstream ist, #include <sstream>, оператор >> #3
Цитата Сообщение от Hi4ko Посмотреть сообщение
istringstream ist(str);
char temp[256];
while(ist>>temp)
n++;
cout<<n<<endl;
}[/CPP]
?
3.И как тут получилось, что эта программа смогла посчитать кол-во слов?
Также пытаюсь разобраться с этой темой. Пока непонятно. В строке char temp[256]; создается массив из 256 символов (наверное можно создать его всего из одного символа и все также будет работать). В строке while(ist>>temp) происходит сравнение потока с чем? С пустым массивом, без указания индекса в массиве? В приведённом примере не понятно, как программа наращивает n по количеству слов, а не количеству символов?
Ответ Создать тему
Опции темы

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