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

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

Войти
Регистрация
Восстановить пароль
 
Buckstabue
175 / 124 / 6
Регистрация: 12.01.2012
Сообщений: 624
#1

istringstream должен работать всего один раз? - C++

09.04.2012, 13:02. Просмотров 553. Ответов 1
Метки нет (Все метки)

Вот простейший код. Кто-нибудь может объяснить почему переменная b здесь остаётся равной нулю?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <sstream>
#include <string>
 
using namespace std;
 
int main( int argc, char *argv[] )
{
   istringstream strStream;
   long a = 0, b = 0;
   
   strStream.str( "123" );
   cout << "strStream.str() = " << strStream.str() << endl; // выводит 123
   strStream >> a;
   cout << "a = " << a << endl; // выводит 123
   
   strStream.str( "456" );
   cout << "strStream.str() = " << strStream.str() << endl; // выводит 456
   strStream >> b;
   cout << "b = " << b << endl; // выводит 0
   
   return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.04.2012, 13:02
Здравствуйте! Я подобрал для вас темы с ответами на вопрос istringstream должен работать всего один раз? (C++):

Описать абстрактный класс породить от него еще два,один должен остаться абстрактным,другой должен быть способен пораждать объекты - C++
Знает кто как сделать?

Вывести числа, которые встречаются в массиве несколько раз / один раз - C++
дан массив состоящий из 100 целых чисел. а)Вывести все числа,которие встречаются в етом массиве несколько раз б)Вывести все...

Как проще всего работать с Big-Endian C++ ? - C++
С++. Как проще всего работать с Big-Endian, используя стандартные операции ?

Реализовать систему плагинов (модулей), каждый из которых должен работать в отдельном потоке - C++
Всем доброго времени суток, не могли бы вы мне помочь реализовать систему плагинов( модулей). Необходимо что бы: - каждый плагин...

Цикл должен выполниться несколько раз, и должна получиться таблица, но этого не происходит; почему? - C++
Данная программа не выполняется корректно, т.е. по заданию мне нужно создать таблицу с числами, вы увидите и думаю поймете по программе...

Вычислить значение функции y для x=a(h)b - получается всего один результат - C++
#include &lt;iostream&gt; #include &lt;iomanip&gt; #include &lt;math.h&gt; using namespace std; int main() { double y,x, a, b, h; x=1; ...

1
ForEveR
В астрале
Эксперт С++
7988 / 4747 / 321
Регистрация: 24.06.2010
Сообщений: 10,547
Завершенные тесты: 3
09.04.2012, 13:22 #2
Buckstabue,
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
#include <iostream>
#include <sstream>
#include <string>
 
using namespace std;
 
int main( int argc, char *argv[] )
{
   istringstream strStream;
   long a = 0, b = 0;
   
   strStream.str( "123" );
   cout << "strStream.str() = " << strStream.str() << endl; // выводит 123
   strStream >> a;
   cout << "a = " << a << endl; // выводит 123
   strStream.clear();
   
   strStream.str( "456" );
   cout << "strStream.str() = " << strStream.str() << endl; // выводит 456
   strStream >> b;
   cout << "b = " << b << endl; // выводит 0
   
   return 0;
}
Добавлено через 4 минуты
Объяснение - устанавливается флаг eof. Пока мы не сделаем clear флаг будет eof.
2
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.04.2012, 13:22
Привет! Вот еще темы с ответами:

Вывести ромб (пустой внутри) символами *, используя всего один цикл for - C++
Вывести ромб (пустой внутри) символами *, используя всего один цикл for. На вход подаётся число: сторона квадрата (ромб рисуется в...

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

Описание istringstream - C++
Есть программа : #include &lt;iostream&gt; #include &lt;sstream&gt; using namespace std; int main() { while(int a =1) { ...

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


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

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

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